DDL(data definition language)
标签(空格分隔): mysql
- 创建表
drop table if exists student;
create table student(
stu_id int PRIMARY KEY ,
stu_name varchar(32),
stu_age int,
stu_cash DECIMAL(9,2)
);
- DDL,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用
- 查看表的结构
describe student; 或者 desc student;
- 查看当前数据库的表
show tables;
- 修改表名
# 将test的表名修改为updatetest
alter table test rename as updatetest ;
- 向表里面添加列
# 向student里面添加address列
alter TABLE student add address VARCHAR(50) DEFAULT '地址不详';# 添加列
- 修改列名
当修改列名后,设置Auto_increament会消失
#将name 修改为NameUpdate
alter table testxx change name NameUpdate varchar(55);
- 修改列的属性
# 将address的属性修改为 varchar(16)
alter table student Modify Address varchar(16);
- 修改列的字段
# 将name 修改为xname
alter table student change phone xphone varchar(32);
- 删除 is_delete列
alter table student drop is_delete;
- 删除表
# 删除test1表
drop table if exists test1;
decimmal通常用于定义金钱
cash 列最多可以存储6位数字,小数位数为2位; 因此,cash列的范围是从-9999.99到9999.99。
cash decimal(6,2) NOT NULL,
- truncate 用于清空数据,但是表的结构索引,约束都不改变
truncate [table] table_nam ([table 可以省略])
相同:
都能删除数据、不删除表的结构、但是truncate速度更快不同:
使用truncate table 重新设置Auto_Increment计数器使用truncate tbale 不会对事务产生影响
Delete
Delete from 表名[where condition]
#删除表里面的所有数据
delete from grade;
# 删除表里面的某一列
delete from grade where gradeId = 95001;
将列设置为自动增长
# 设置自动增长列
alter table greadeTest change GreadeId GreadeId int auto_increment;
# 设置增长底数
alter table GreadeTest auto_increment=95008
# 查看表结构
desc student
# 查看表的创建结构
show create table student