1.语句基础
1.1 SQL简介
结构化查询语言 (Structured Query Language)
在关系型数据库上执行数据操作、数据检索以及数据维护的标准语言
1.2 SQL语句分类
分类 | 作用 | 内容 |
DDL(Data Definition Language):数据定义语言 | 定义对数据库对象(库、表、列、索引)的操作 | CREATE、DROP、ALTER、RENAME、 TRUNCATE等 |
DML(Data Manipulation Language):数据操作语言 | 定义对数据库记录的操作 | INSERT、DELETE、UPDATE、SELECT等 |
DCL(Data Control Language):数据控制语言 | 定义对数据库、表、字段、用户的访问权限和安全级别 |
GRANT、REVOKE等 |
Transaction Control:事务控制 | COMMIT、ROLLBACK、SAVEPOINT等 |
1.3 SQL语句的书写规范
- 不区分大小写(建议用大写);
- 字符串常量取反大小写;
- SQL语句可单行或多行书写,以“;”结尾;
- 关键词不能跨多行或简写;
- 用空格和缩进提高语句可读性;
- 子句通常位于独立行,便于编辑,提高可读性。
2.数据库操作
2.1 查看
SHOW DATABASES
语法:SHOW DATABASES [LIKE wild];
2.2 创建
CRATE DATABASE
语法:CREATE DATABASE [IF NOT EXISTS]数据库名;
示例:
mysql> create database if not exists db2 character set utf8;
Query OK, 1 row affected (0.00 sec)
创建一个名为school指定默认的字符集为utf8,指定了校对规则为utf8,ci表示对大小写不敏感:
create database school DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
2.3 删除
删除库一次只能删一个
DROP DATABASE
语法: DROP DATABASE [IF EXISTS]数据库名;
2.4 切换
语法:USE 数据库名;
3. MySQL字符集
MySQL 字符集包括字符集( CHARACTER )和校对规则( COLLATION )两个概念。
查看字符集:
mysql> show variables like 'character%';
查看校对规则:
mysql> SHOW COLLATION;
MySQL字符序命名规则是:以字符序对应的字符集名称开头,以国家名居中(或以general居中),以 ci、cs或bin结尾。
ci 表示大小写不敏感, cs 表示大小写敏感, bin 表示按二进制编码值比较。