DDL概述
DDL英文全称是Data Definition Language(数据定义语言),用来定义数据库对象(数据库、表)。
DDL中数据库的常见操作:查询、创建、使用、删除。
查询数据库
查询所有数据库:
命令行中执行效果如下:show databases;
查询当前数据库:select database();
命令行中执行效果如果:
我们要操作某一个数据库,必须要切换到对应的数据库中。
通过指令:select database() ,就可以查询到当前所处的数据库
创建数据库
语法:create database [ if not exists ] 数据库名;
例如创建一个itcast数据库。
create database itcast;
命令行执行效果如下:
注意:在同一个数据库服务器中,不能创建两个名称相同的数据库,否则将会报错。
可以使用if not exists来避免这个问题
数据库不存在,则创建该数据库;如果存在则不创建 create database if not extists itcast;
命令行执行效果如下:
使用数据库
语法:use 数据库名 ;
我们要操作某一个数据库下的表时,就需要通过该指令,切换到对应的数据库下,否则不能操作。
例如切换到itcast数据
use itcast;
命令执行效果如下:
删除数据库
语法:drop database [ if exists ] 数据库名 ;
如果删除一个不存在的数据库,将会报错。
可以加上参数 if exists ,如果数据库存在,再执行删除,否则不执行删除。
命令执行效果如下:
说明:上述语法中的database,也可以替换成 schema
-
如:create schema db01;
-
如:show schemas;
表操作
创建
语法:
create table 表名( 字段1 字段1类型 [约束] [comment 字段1注释 ], 字段2 字段2类型 [约束] [comment 字段2注释 ], ...... 字段n 字段n类型 [约束] [comment 字段n注释 ] ) [ comment 表注释 ] ;
注意: [ ] 中的内容为可选参数; 最后一个字段后面没有逗号
查询
查询当前数据库所有表
show tables;
查看指定表结构
desc 表名 ;#可以查看指定表的字段、字段的类型、是否可以为NULL、是否存在默认值等信息
查询指定表的建表语句
show create table 表名 ;
修改
添加字段
alter table 表名 add 字段名 类型(长度) [comment 注释] [约束];
修改数据类型
alter table 表名 modify 字段名 新数据类型(长度);#只修改数据类型
alter table 表名 change 旧字段名 新字段名 类型(长度) [comment 注释] [约束];#修改列名和数据类型
删除字段
alter table 表名 drop 字段名;
修改表名
rename table 表名 to 新表名;
ALTER TABLE 表名 RENAME TO 新的表名;
删除表
drop table [ if exists ] 表名;