创建表
和之前的创建库差不多,需要多指定一个engine(不写默认INNODB)这个后面说
字符集还有校对规则不指定的话和库的保持一致
案例
图形化创建就不说了,主要就指令
# 演示关于创建表的操作
# 在db02创建表USER包含id-整形 name-字符串 password-字符串 birthday-日期
# 因为USER是关键字要用``括起来,就只要变蓝就是关键字,如果你定义的是个变量用``括起来就ok
CREATE TABLE `USER` (
id INT,
`name` VARCHAR(255),
`password` VARCHAR(255),
`birthday` DATE)CHARACTER SET utf8 COLLATE utf8_bin ENGINE INNODB
效果
根据左上角的这个来判断对哪个数据库执行操作,然后会在对应的数据库生成表!
表中常用数据类型(列类型)
数据类型概念就我们java里面的boolean,int那些
因为mysql里面的数据类型有点不同需要拿出来讲解
关于细节,比如是decimal[M,D]
M和D是什么意思,我们在下面讲,先大致了解有哪些数据类型
常用类型:
整形:int
小数类型:double和decimal[M,D]
文本类型:char,varchar和text
二进制类型:都不常用
日期类型:datatime,timestamp
在满足需求情况下,尽量使用占用内存小的数据类型,来提高我们的效率
整形
默认是有符号的
定义无符号在数据类型后面加一个unsigne即可
位类型
不常用但有用
BIT()括号里面的是位数,8位一个字节1-64位就是最大8字节
还有就是你添加的数据是按照位(二进制)显示的
我们放的3就是b'11',这个b''就是代表这个数据是二进制显示的
查询的时候我们也是输入对应的十进制就ok
主要是你想分配0、1只有这两个值
可以用bit(1)实现
使用其实不多
小数类型
DECIMAL(M,D)
M是小数位数的总数(就是整个这个数能有多少位)最大65,默认10
D表示小数点后面的位数(写成0就是整数,可以在BigINT不够时候用)最大30,默认0
float和double就是最大精度不一样,不会自动补0
decimal你设置小数点位数20,如果没有达到会自动补0
你要存一个非常大的数也可以用decimal