mysql学习笔记(二)mysql快速入门
- 2020 年 2 月 6 日
- 筆記
快速入门命令:
数据库的增删改查
不区分大小写
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)