mysql 表的创建,修改,删除

查看数据库所有表

  1. show tables

创建

  1. create table 表名 (
  2. 列名 类型 约束条件
  3. ...
  4. )
类型有整形:

tinyint(1B) ,smallint(2B),mediumint(3B), int(4B),bigint(8B)

表示的范围,若是有符号整数,则是-pow(2,字节数/2)pow(2,字节数/2) - 1,若为无符号整数,则其表示范围为 0pow(2,字节数)-1。mysql默认为有符号类型。

浮点型

float(M,D) (4B),double(M,D) (8B) ,DCM(M,D) ((M+2)B) M为总位数,D为小数点该保留几位,插入数据时,超出之后则会四舍五入,小于D的位数的话则会补0. 若省略(M,d), float,double会根据插入的数据自动调整,而dcm则默认M为10 D为0、

字符型

char(M) varchar(M) M,表示最多字符数,char,varchar的区别是不可变和可变的字符长度。所以varchar较节省空间,但是char性能会更好,更好的原因在于固定长度的空间,地址查找会更快。

日期型

datetime,timestamp,datetime 8个字节 精度达到年月日时分秒,timestamp 4个字节,会随时区不同而不同。除此之外还有只有日期的年月日的date,只有时间时分秒的time,只有年份的year

约束类型有

not null , nullable 非空,可为空约束,
default 默认值约束
distinct 唯一约束
primary key 主键约束
foreign key 外键约束
check 检查约束,mysql 不支持

foreign key只支持表级约束, 除了 defaultnot null 都可作为表级约束。列级约束添加时与上边创建语法一直,表级约束添加语法如下: [constraint 约束名] 约束名(列名)


修改

修改列

语法1:

  1. alter table 表名 change column 列名 新列名 新类型 新约束

语法2:

  1. alter table 表名 modify 列名 新类型 新约束
添加列
  1. alter table 表名 add column 列名 类型 约束条件
删除列
  1. alter table 表名 drom column 列名
修改表

重命名:

  1. alter table 表名 rename to 新表名

删除

  1. drop table 表名
posted @ 2019-12-16 20:57  子龙_子龙  阅读(11)  评论(0编辑  收藏  举报