结构化查询语言。一门操作关系型数据库的编程语言,定义操作所有关系型数据库的统一标准。
SQL的特点
- SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体
- 面向集合的语言
- 非过程语言
- 类似自然语言,简洁易用
- 自含式语言,又是嵌入式语言。可独立使用,也可嵌入到宿主语言中。
SQL的分类
分类 | 全称 | 说明 |
DDL | Data Definition Language | 数据定义语言,用来定义数据库对象(数据库、表、字段) |
DML | Data Manipulation Language | 数据操作语言,用来对数据库表中的数据进行增删改 |
DQL | Data Query Language | 数据查询语言,用来查询数据库中表的记录 |
DCL | Data Control Language | 数据控制语言,用来创建数据库用户、控制数据库的访问权限 |
DDL数据定义语言
数据定义语言,用来定义数据库对象(数据库、表、字段)
一、创建数据库
<!--数据库操作-->
<!--创建表结构-->
create table 表名(
字段 字段类型 [约束] [comment 注释]
...........
[constraint] [外键名称] foreign key (外键字段名) references 主表 (主表列名))
)[comment 注释];
<!--外键约束-->
<!--建完表后,添加外键-->
alter table 表名 add constraint 外键名称 foreign key(外键字段名) references 主表(主表列名);
二、操作数据库
<!--创建数据库-->
create database [if not exist] 数据库名 [default charset 字符集];
<!--删除数据库-->
drop database [if not exist] 数据库名;
<!--切换数据库-->
use 数据库名;
<!--查询所有数据库-->
show databases;
<!--查询当前数据库-->
select database();
<!--查询当前数据库所有表-->
show tables;
<!--查询指定表结构-->
desc 表名;
<!--查询指定表的建表语句-->
show create table 表名;
三、修改数据库
<!--表操作-修改-->
<!--添加字段-->
alter table 表名 add 字段名 类型(长度) [comment 注释] [约束];
<!--修改数据类型-->
alter table 表名 modify 字段名 新数据类型(长度);
<!--修改字段名和字段类型-->
alter table 表名 change 旧字段名 新字段名 类型(长度) [comment 注释] [约束];
<!--修改表名-->
alter table 表名 rename to 新表名;
四、删除
<!--删除表-->
drop table 表名;
<!--删除表时判断表是否存在,若存在则删除-->