SQL语句:DDL语句
文章目录
DDL 是数据定义语言的缩写,简单来说,就是对数据库内部的对象进行创建、删除、修改的 操作语言。它和 DML 语言的最大区别是 DML 只是对表内部数据的操作,而不涉及到表的定 义、结构的修改,更不会涉及到其他对象。DDL 语句更多的被数据库管理员(DBA)所使用, 一般的开发人员很少使用。
1.创建数据库
CREATE DATABASE dbname
这个时候,如果需要知道系统中都存在哪些数据库,可以用以下命令来查看:
show databases;
在查看了系统中已有的数据库后,可以用如下命令选择要操作的数据库:
USE dbname
2.删除数据库
drop database dbname;
3.创建表
在数据库中创建一张表的基本语法如下:
CREATE TABLE tablename (column_name_1 column_type_1 constraints,column_name_2 column_type_2 constraints , ......column_name_n column_type_n constraints)
例如,创建一个名称为 emp 的表。表中包括 3 个字段,ename(姓名),hiredate(雇用日期)、 sal(薪水),字段类型分别为 varchar(10)、date、int(2):
create table emp(
ename varchar(10),
hiredate date,
sal decimal(10,2),
deptno int(2)
);
表创建完毕后,如果需要查看一下表的定义,可以使用如下命令:
DESC tablename
虽然 desc 命令可以查看表定义,但是其输出的信息还是不够全面,为了查看更全面的表定 义信息,有时就需要通过查看创建表的 SQL 语句来得到,可以使用如下命令实现:
show create table emp \G;
“\G”选项的含义是使得记录能够按照字段竖着排列,对于内 容比较长的记录更易于显示。
4.删除表
表的删除命令如下:
DROP TABLE tablename
5.修改表
表结构的更改一般都使用 alter table 语句,以下是一些常用的命令。
(1) 修改表类型
语法如下:
ALTER TABLE tablename MODIFY [COLUMN] column_definition [FIRST | AFTER col_name]
例如,修改表 emp 的 ename 字段定义,将 varchar(10)改为 varchar(20):
alter table emp modify ename varchar(20);
(2) 增加表字段
语法如下:
ALTER TABLE tablename ADD [COLUMN] column_definition [FIRST | AFTER col_name]
例如,表 emp 上新增加字段 age,类型为 int(3):
alter table emp add column age int(3);
(3) 删除表字段
语法如下:
ALTER TABLE tablename DROP [COLUMN] col_name
例如,将字段 age 删除掉:
alter table emp drop column age;
(4) 字段改名
语法如下:
ALTER TABLE tablename CHANGE [COLUMN] old_col_name column_definition [FIRST|AFTER col_name]
例如,将 age 改名为 age1,同时修改字段类型为 int(4):
alter table emp change age age1 int(4) ;
(5) 修改字段排列顺序
前面介绍的的字段增加和修改语法(ADD/CNAHGE/MODIFY)中,都有一个可选项 first|after column_name,这个选项可以用来修改字段在表中的位置,默认 ADD 增加的新字段是加在 表的最后位置,而 CHANGE/MODIFY 默认都不会改变字段的位置。
例如,将新增的字段 birth date 加在 ename 之后:
alter table emp add birth date after ename;
修改字段 age,将它放在最前面:
alter table emp modify age int(3) first;
(6) 表改名
语法如下:
ALTER TABLE tablename RENAME [TO] new_tablename
例如,将表 emp 改名为 emp1,命令如下:
alter table emp rename emp1;
文章作者 Forz
上次更新 2017-08-13