DDL作用:对数据库结构、数据表结构操作的SQL语句。
一、数据库DDL
1、列出所有数据库模式
SHOW DATABASE;
2、切换数据库模式
USE dbname;
3、列出当前模式的数据表
SHOW TABLES;
4、查看指定表的结构
DESCRIBE(简写:DESC) table_name;
5、创建数据库模式并切换到新建模式
CREATE DATABASE db_name;
USE db_name;
6、创建数据库并指定编码
CREATE DATABASE db_name SET CHARACTER utf8;
7、删除数据库模式
DROP DATABASE db_name;
8、修改数据库模式
ALTER DATABASE db_name;
二、数据表DDL
1、创建数据表
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] table_name (columns_list);
2、删除数据表
DROP TABLE table_name;
3、修改数据表结构
(1) 删除表中的列
ALTER TABLE table_name DROP column_name;
(2) 在表中添加列
ALTER TABLE table_name ADD column_name type isNull DEFAULT;
(3) 修改表中的列
ALTER TABLE table_name CHANGE column_name newcol_name;
三、视图DDL
视图作用:提高安全性、简化复杂查询。
1、创建视图
CREATE VIEW view_name [(column1,column2,...)]
AS subquery(子查询)
2、基于单表创建视图
CREATE VIEW view_name
AS
SELECT * FROM table_name t
WHERE t.id = 'id'
3、基于多表连接创建视图
CREATE VIEW view_name
AS
SELECT t1.id, t2.id FROM table_name1 t1, table_name2 t2
WEHRE t1.id = t2.id;
4、在视图中添加CHECK约束
作用:当视图执行数据的增加、修改、删除的更新操作时,会对其做条件检查。
CREATE VIEW view_name
AS subquery
WITH CHECK OPTION
5、创建只读视图
CREATE VIEW view_name
AS subquery
WITH READ ONLY
注:mysql不能使用SQL语句创建只读视图
6、删除视图
DROP VIEW view_name;
7、可以基于函数、分组创建视图