DDL操作命令
简介
DDL (Data Definition Language) —-数据定义语言.定义数据库,表,列,索引,字段等数据库对象,常用的语句有:create,drop,alter
一.数据库操作
1.创建一个数据库:
1 | CREATE DATABASE dbname |
2.查看当前数据库中存在哪些数据库
1 | show databases |
information_schema:主要存储系统中一些数据库对象信息.比如用户表信息,列信息,权限,字符集,分区等
cluster: 存储系统集群信息
mysql:存储系统用户权限
3.使用数据库
1 | use mytest |
4.查看刚才使用的数据库中的所有表
1 | show tables |
这是刚创建的数据库,所以没有任何表
5.删除一个数据库
1 | drop database dbname; |
note:请谨慎操作任何drop,delete等删除相关语句
二.数据表操作
1.在数据库中创建一张表
1 | CREATE TABLE 表名(列名1,字段类型,约束条件 |
列如:创建一个emp表,包含ename(列名1,字段类型是varchar(10)).hiredate(列名2,字段类型是date),sal(列名3,字段类型int(2),以及deptno
1 | mysql> create table emp(ename varchar(10),hiredate date,sal int(2),deptno int(2)); |
2.查看表的定义:
语法:
1 | DESC 表名; |
1 | mysql> desc emp; |
3.查看创建该表事的SQL语句:
语法:
1 | show create table 表名; |
例如.查看emp表是如何创建的
1 | mysql> show create table emp; |
4.删除表
语法:
1 | DROP TABLE 表名 |
例如.删除emp表
1 | drop table emp; |
5.修改表—-alter table语句
5.1修改表类型
语法:
1 | ALTER TABLE 表名 MODIFY 列名 列字段定义 [FIRST | AFTER 列名] |
例如:将emp表中的ename列的字段类型从varchar(10) 改成varchar(20)
1 | mysql> alter table emp modify ename varchar(20); |
5.2增加表字段
语法
1 | ALTER TABLE 表名 ADD 列名 列字段类型 [FIRST | AFTER 列名] |
例如:增加age列,字段类型为int(3)
1 | mysql> alter table emp add age int(3); |
5.3 删除表字段
语法:
1 | ALTER TABLE 表名 DROP 列名 |
例如:将age删掉
1 | mysql> alter table emp drop age; |
5.4 字段改名.
语法:
1 | ALTER TABLE 表名 CHANGE 旧列名 新列名 列字段类型 |
例如:将age改为age1,同时将字段类型改为int(3)
1 | mysql> alter table emp change age age1 int(4); |
Note:change和notify都可以修改表定义.change需要些两次列名.但是change可以修改队列名,modify不可以
Note:前面介绍的字段增加和修改语法中都有一个[FIRST|AFTER 列名]的可选项.这个选项用来修改某个列名在表中的位置.ADD默认将列放在表的最后位置,CHANGE/MODIFY不会修改表位置.
例如:将age1列名改回到age,并且移动到ename列之后
1 | mysql> alter table emp change age1 age int(4) after ename; |
5.5 更改表名
语法:
1 | ALTER TABLE 表名 RENAME 新表名 |
例如:将表emp改名为emp1
1 | mysql> alter table emp rename emp1 |