SQL之DDL(操作以MySQL为例)
SQL
即结构化查询语言(Structured Query Language),是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系型数据库,换句话说就是定义了所有关系型数据库的规则。不过每种数据库操作的方式还是会存在些许不同的地方,称为“方言”。
SQL通用语法
- SQL语句可以单行或多行书写,以分号结尾
- 可使用空格和缩进增强语句的可读性
- MySQL数据库的SQL语句不区分大小写,关键字建议使用大写
- 注释
-
单行注释: -- 注释内容 (“--”与“注释内容”之间存在一个空格)/ #注释内容
-
多行注释: /* 注释内容 */
SQL分类之DDL
DDL:即数据定义语言(Data Definition Language),其语句包括动词CREATE,ALTER和DROP。在数据库中创建新表或修改、删除表(CREAT TABLE 或 DROP TABLE);为表加入索引等。
DDL:操作数据库、表
1. 操作数据库:CRUD
1.1 C(create):创建
- create database 数据库名; :创建数据库
- create database if not exists 数据库名; :如果不存在该数据库,就创建
- create database 数据库名 character set 字符集名称; :创建数据库并指定字符集
- create database if not exists 数据库名 character set 字符集名称; :创建数据库,先判断存在与否,不存在则创建指定字符集的数据库
1.2 R(retrieve):查询
- show databases; :查询所有数据库名称
- show create database 数据库名; :查询某个数据库的字符集
1.3 U(update):修改
- alter database 数据库名 character set 字符集名称; :修改数据库字符集
1.4 D(delete):删除
- drop database 数据库名; :删除数据库
- drop database if exists 数据库名; :若存在则删除该数据库
1.5 使用数据库
- select database(); :查询当前正在使用的数据库
- use 数据库名; :使用数据库
2. 操作数据表:CRUD
2.1 C(create):创建
语法格式:create table 表名 (列名1 数据类型1, 列名2 数据类型2, .... , 列名n 数据类型n);
注意:最后一列,不需要加逗号(,)
- create table 表名 (列名1 数据类型1, 列名2 数据类型2, .... , 列名n 数据类型n); :创建表
- create table 表2 like 表1 :创建和表1一样的表2
2.2 R(retrieve):查询
- show tables; :查询数据库中的数据表
- desc 表名;:查询数据表结构
2.3 U(update):修改
- alter table 表名 rename 新表名; :修改表名
- alter table 表名 character set 字符集名称;:修改表的字符集
- alter table 表名 add 列名 数据类型;:数据表添加新列
- alter table 表名 change 列名 新列名 新数据类型;:更改表中列名和类型
- alter table 表名 modify 列名 数据类型;:修改列的数据类型
- alter table 表名 drop 列名;:删除列
2.4 D(delete):删除
- drop table 表名; :删除表
- drop table if exists 表名;:表若存在则删除