当前位置:Gxlcms > 数据库问题 > MySQL基础 DDL

MySQL基础 DDL

时间:2021-07-01 10:21:17 帮助过:13人阅读

table if exits 数据库.表名( field1 数据类型 约束类型 commit 字段注释, field2 数据类型 约束类型 commit 字段注释 ); 例子:
CREATE TABLE IF NOT EXISTS school.Student (id INT PRIMARY KEY COMMENT "id列", stu_name VARCHAR(32) NOT NULL COMMENT "学生姓名", age INT COMMENT "学生年");
查看表:
describe 表名;
desc 表名;

例如:

describe Student;
desc Student;

查看创建表的方法:

show create table Student\G;

修改表名:

alter table 旧表名 rename 新表名;
alter table 旧表名 rename to 新表名;
alter table 旧表名 rename as 新表名;

修改字段名和类型:

alter table 表名 change 旧属性名 新属性名 新属性类型;
alter table student change stu_name name char(32);

仅仅修改字段名或类型:

alter table 表名 change 属性名 属性名 新属性类型

字段操作

新增字段:

alter table 表名 add 新属性姓名 新属性类型 约束 first| after 原有字段(即在那个字段后,不写是最后, first 表示最前;    
alter table student add birth_date date not null first;
alter table student add die_date date not null after name;

删除字段:

alter table 表名 drop 属性名;

修改字段排列顺序:

alter table 表名 modify 属性名 属性类型 约束 first;
alter table 表名 modify 属性名 属性类型 约束 after 在那个字段后面;

删除外键:

alter table 表名 drop foreign key 外键名;

删除表

drop table 表名;

 DML数据库管理语句

插入表数据:

insert into table_name values();
insert into table_name(field, field2, field3) values(data1,data2,data3);
insert into table_name(field, field2, field3) values(data1,data2,data3), (data1,data2,data3);

修改表数据:(一定要注意,不要修改了全部字段,避免方式加上where进行过滤);

update 表名 set 需要修改的列的名称=修改的值
update table_name set field1=value1,field2=value2 where field3 = 1;

插入从其他表查出的数据
从其他表查询数据子啊from后面无法直接填表名,可以接字表查询出来用别名进行代替。

update table_name1 set field_name=(select field_name from (select name from table_name2 where id = 1) as t) where id = 1;
update teacher set name=(select name from (select name from student where id = 1) as stu) where id=1;

删除数据 必须加上where:

delete from table_name where id = 1;

删除数据同时删除表结构:

truncate table table; 清空表

 

MySQL基础 DDL

标签:comm   add   hang   sele   foreign   char   表名   bsp   tab   

人气教程排行