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的主要内容,如果未能解决你的问题,请参考以下文章

MySQL基础 DDL

MySQL基础(DDLDMLDQL)

Mysql基础之准备及DDL语句

MySQL基础教程DDL语句详细介绍

MySQL基础,DDL和DML(新人入门向)

MySQL基础,DDL和DML(新人入门向)