DDL 数据定义语言

数据库模式定义语言DDL(Data Definition Language)

一、操作数据库 database

1. 建库 create

 create database 数据库名; -- 后面会添加各种参数,【注意:需要明白常用的建库参数】
 create database if not exists 数据库名;  -- 类似于删表 【drop table if not exists A】

2. 删库 drop / truncate

 drop database A ;  -- 删除数据库A

3. 改库 alter

 alter database A character set utf8;  -- 改数据库的信息一般都是改数据库参数,所以需要了解建库时的参数

4. 查库 show

 show database;
 describe 数据库名;

二、操作表 table

建表 create

1、情况一:直接建表
 create table table_name(
 列名1 数据类型 [约束条件],
 列名2 数据类型 [约束条件],
 列名3 数据类型 [约束条件],
 ......
 [constraint 外键名] foreign key (本表的外键列名) references 外键名(关联表.关联字段) [外键中的级联关系]
 )[engine=innoDB/myISAM default charset=utf8/GBK]
 
 -- 注意:
 1、 外键中的级联关系
 [on delete restrict | cascade | set null | no action | set default]
 [on update restrict | cascade | set null | no action | set default]
 		|restrict:限制外表中的外键改动,默认值   | 
 		|cascade:跟随外键改动                  |
 		|set null:设空值                      |
   		|set default:设默认值                 |
		|no action:无动作,默认的              |
2、情况二:复制表
 -- 只复制表结构及约束,但不复制数据
 create table 复制出的表名 like 原表名;
 
 -- 复制表结构及数据,但不复制约束
 create table 复制出的表名 as select * from 原表名;

删表 drop / truncate

 drop table [if not exists] table_name; -- 直接删除整个表
 truncate table table_name; -- 释放表空间,留下表结构,应该说是一次性清空表

改表 alter

查表结构 describe / show

 describe 表名;
 describe A a_id;
 show tables; -- 查看当前库里的表
 show columns from table_name from database_name;
 show columns from database_name.table_name;
 -- 可以认为 describe 表名 等价于 show columns from xxx
 
全部评论

相关推荐

评论
点赞
收藏
分享
牛客网
牛客企业服务