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
 
全部评论

相关推荐

叶扰云倾:进度更新,现在阿里云面完3面了,感觉3面答得还行,基本都答上了,自己熟悉的地方也说的比较细致,但感觉面试官有点心不在焉不知道是不是不想要我了,求阿里收留,我直接秒到岗当阿里孝子,学校那边的房子都退租了,下学期都不回学校,全职猛猛实习半年。这种条件还不诱人吗难道 然后现在约到了字节的一面和淘天的复活赛,外加猿辅导。华为笔试完没动静。 美团那边之前投了个base广州的,把我流程卡麻了,应该是不怎么招人,我直接简历挂了,现在进了一个正常的后端流程,还在筛选,不知道还有没有hc。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务