DDL= Data Definition Language
DDL 是数据定义语言的缩写,简单来说,就是对数据库内部的对象进行创建、删除、修改的操作语言。它和 DML 语言的最大区别是 DML 只是对表内部数据的操作,而不涉及到表的定义、结构的修改,更不会涉及到其他对象。DDL 语句更多的被数据库管理员(DBA)所使用,一般的开发人员很少使用。
创建数据库
CREATE DATABASE dbname

查询数据库
show databases

选择数据库
use dbname

查看表
show tables

删除数据库
drop database dbname

创建表
创建表先创建列 然后再创建列里面的数据
CREATE TABLE table_name (column_name column_type constraints);
column_name 是列的名字
column_type 是列的数据类型
constraints 是列的约束条件
MySQL> create table emp(ename varchar(10),hiredate date,sal decimal(10,2),deptno int(2));

添加表添加内容
MySQL> create table dept(deptno int(3),deptname varchar(20));
Query OK, 0 rows affected (0.00 sec)

MySQL> insert into dept values(5,‘dept5‘),(6,‘dept6‘);
Query OK, 2 rows affected (0.00 sec)


查看表结构
DESC tablename

查看表创建时的语句
show create table tablename \G;

可以看到engine(存储引擎)和charset(字符集)等信息,\G 选项的含义是使得记录能按照字段竖向排列,以便更好地显示内容较长的记录
修改表
修改表类型
ALTER TABLE tablename MODIFY[COLUMN] column_definition [FIRST\AFTER col_name]

增加表字段
ALTER TABLE tablename ADD [COLUMN]column_definition [FIRST\AFTER col_name]

删除表字段
ALTER TABLE tablename DROP [COLUMN] col_name

字段改名
ALTER TABLE tablename CHANGE [COLUMN] old_col_name column_definition [FIRST\AFTER col_name]

change和modify都可以修改表的定义,不同的是change后面需要写2次列名,不方便。但是change的优点是可以修改列名称,modify则不行
修改字段排序顺序
ALTER TABLE tablename ADD [COLUMN] col_name [FIRST\AFTER col_name]
将新增的字段birth date加在ename之后

修改字段重新排列顺序
ALTER TABLE tablename MODIFY [COLUMN] col_name [FIRST\AFTER col_name]

更改表名
ALTER TABLE tablename RENAME[TO]new_tablename

删除表
DROP TABLE tablename

MySQL管理-DDL语句(11)
标签:添加 http 约束 表名 内部数据 更改 hang 选择 修改表