MySQL基础 DDL
Posted 他山之石
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL基础 DDL相关的知识,希望对你有一定的参考价值。
DDL 数据库定义语句
创建数据库
create 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 StudentG;
修改表名:
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的主要内容,如果未能解决你的问题,请参考以下文章