mysql学习笔记01

上一篇 / 下一篇  2015-12-11 19:35:49 / 个人分类:数据库

启动mysql服务器:

1.计算机管理—服务—启动MySQL

2.命令行中运行net start MySQL

 

##语句打错时用\c跳出执行,再重新输入。

##乱码。数据库存放的是utf8编码,而命令提示符使用的是GBK编码。解决乱码:set names gbk

## mysql语句可以换行打,一般遇到‘;’时结束。

## 1064错误是语句错误。Query ok说明语句执行成功。

## tee文件名sql的语句和执行结果保存到文件中

##自增长:auto_increment

 

一、基本语句

1.连接服务器

mysql -uusername -ppassword

eg: mysql -uroot -p123456

 注:可mysql -uroot -p 换行,再输入密码,这样密码就不会明文显示在命令行中 

2.选择数据库

 use数据库名;

 

3.查看数据库

show databases;

 

4.查看数据库中的所有表

show tables;

 

5.创建数据库

create database数据库名charset utf8;

 

6.删除数据库

drop database数据库名;

 

7.mysql中 表,列能改名,数据库不能改名

rename table表名to新表名;

 

8.创建表

create table tablename(

id int primary key auto_increment,

name varchar(10) not null default ‘ ’,

year varchar(4) not null default ‘ ’

)engine myisam charset utf8;

 

9.删除表

drop table表名;

 

10.清空表数据

truncate表名;

 

11.truncatedelete的区别

truncate相当于删除表再重建一张同样结构的表,操作后得到一张全新表。而delete是从删除所有的层面来操作的。

 

12.查看表结构:desc表名

13.修改表数据

修改列的数据类型:alter table表名modify column列名新的数据类型;

增加列:alter table表名add列名数据类型;

 

二、增删改查

1.增加

insert into表名 [(列名)] values (); 列与值必须按顺序一一对应

2.修改

update表名set列名=列值where表达式

eg: update stuinfo set score=99 where name="张三"

3.删除

delete from表名where表达式

4.查询

select列名from表名where表达式

 

三、列类型

Mysql三大列类型:

数值型:

      整型

tinyint   1个字节 8个位 存储范围:0~255-128~127

smallint  2个字节 16个位 存储范围:0~65535-32768~32767

mediumint 3个字节

int  4个字节

bigint 8个字节

 

##int不加特殊说明时,默认是有符号的。

##在列类型int后加unsigned,表示其是无符号类型,可以影响存储的范围。

...int unsigned not null default 0

 

##zerofill代表0填充

tinyint(M) M表示补0的宽度,和zerofill配合使用才有意义。Zerofill同时必是unsigned类型。

 

…tinyint(5) zerofill not null default 0

 

  浮点型

       Float(M,D), float能存10^-38~10^38,如果M<=24,占4个字节,否则占8个字节。

M:精度,代表小数的总位数;D:标度,代表小数位(小数点右边的位数)。

 

      Decimal(M,D)定点型,整数部分和小数部分是分开存储的,比float精确。如果像账户这样的敏感字段,建议用decimal

 

 

字符串

Char \ varchar \ text \ blob

 

 Char(N)定长字符串,不论够不够指定长度,实际都占据N个长度,如果不够N个长度,用空格在末尾补至N个长度,取出时再把右侧空格删掉,如果字符串本身末尾处是空格,取出时会丢失。

查找行记录时如果都是定长,完全可以通过数与行的长度计算出来文件指针的偏移量。

Varchar(N)变长字符串,可存储0-N个长度。1-2个字节长度的前缀码+字符串,前缀码存储的是字符串的长度

注意:char(N)varchar(N)限制的是字符,不是字节数。

 

Text文本类型,一般用来存储文章内容,新闻内容等。声明text列时,不必给默认值。

Blob是二进制类型,用来存储图像、音频等二进制信息。意义:在于防止因为字符集的问题,导致信息丢失。

 

ERROR 1366 (HY000): Incorrect string value: '\xBA\xFA\xB8\xE8\xBA\xCD...' for co

lumn 'name' at row 1

这个错误是由于客户端没有声明字符集。使用set names gbk声明。

 

时间日期类型

date/time/datetime/year

date类型,存储年--日,存储范围:1000-01-019999-12-31

time类型,存储时::秒,

datetime类型,存储年--::

year类型,存储年xxxx存储范围:1901-2155,还可以存0000

timestamp类型,存储方式与datetime类似,2015-11-22 15:16:18。可提取当前系统时间。


TAG: MySQL mysql

 

评分:0

我来说两句

我的栏目

日历

« 2024-04-21  
 123456
78910111213
14151617181920
21222324252627
282930    

我的存档

数据统计

  • 访问量: 2154
  • 日志数: 3
  • 建立时间: 2015-12-11
  • 更新时间: 2015-12-15

RSS订阅

Open Toolbar