mysql学习笔记(二)mysql快速入门

快速入门命令:

数据库的增删改查

不区分大小写

1.显示所有数据库:show databases;

2.使用数据库(进入数据库):use 数据库名称;

3.添加数据库:CREATE DATABASE 数据库名称;

4.删除数据库:drop database 数据库名称;

5.修改数据库:这个不存在,除非备份数据以后建新库

表的增删改查

如果数据包含中文,要考虑编码问题,可以调整命令行的编码格式

1.显示所有的表:show tables;

2.新建表:create table 表名(表项名 表项类型,表项名 表项类型 ……);

3.删除表:drop table 表名;

4.修改表: alter table 表名 rename to 新表名;

3.在表中插入数据:insert into 表名 values(表项值, 表项值);

4.在表中删除数据:delete from 表名 where (表项名=XXX);

5.在表中更新数据:update 表名 set 表项名=表项新值 where 表项名=表项旧值;

6.在表中查询数据: select * from 表名 where 表项名=表项旧值;

数据表常用的数据类型

1.整型(tinyint 1字节,smallint 2字节,mediumint 3字节,int/integer 4字节,bigint 8字节)

可选属性:

M:在0填充的时候才有意义

unsigned:无符号类型

zerofill:0填充

例如int(5) unsigned zerofill:表示每一个整数有5位数字,不足5位在左边补充0,如果只是单独的int(5)那不会起作用。

2.浮点型(float 4个字节,double 8个字节)

float(M,D),M表示总位数,D表示精度

例如float(5,2)的数据范围就可表示为[-999.99~+999.99]

3.定点数(类似于java的bigdecimal,使用字符串存储)

decimal

decimal(M,D)

4.日期和时间

date:表示日期

time:表示时间

datetime:表示日期和时间

year:表示年

timestamp:表示日期和时间

datetime和timestamp的区别:timestamp实际存储的毫秒值,显示时,根据毫秒值算出一个本地化的日期时间,datetime就是存储的日期时间,timestamp因为存储的毫秒值,在比较和计算时,效率比较高。datetime和timestamp可以表示的时间范围是不同的。datetime是1000.01.01……timestamp是1970.01.01…….

5.字符串

mysql没有单字符类型,只有字符串类型

char:定长字符串,长度为[1,255],char(1)/char,char(x),长度为1个字符的字符串或者长度为x个字符的字符串,例如char(2),实际存储的是"男”,实际也是占用2个字符的位置,另一个空的位置存储的为u0000,表示这个字符是unicode值。

mysql是按照字符为基本单位来存储的,而不是字节。https://www.cnblogs.com/devcjq/articles/5151172.html

varchar:varchar(M),这个M指最长不超过M个字符,varchar存储的空间为字符数+2个字节数,这两个字节用来记录实际占用的字符个数。

text:长文本,一般用于存储文字较多又不经常检索的信息。

6.位类型

二进制的位类型,bit(M)允许存储M位值,M的范围为1~64,默认为1

7.二进制数据

blob系列类型,binary和varbinary类型类似于char和varchar,但他们存储的是二进制数据

8.枚举(enum)