SQL 是什么
- 结构化查询语言(Structured Query Language)简称 SQL
- 一种特殊目的的编程语言
- 一种数据库查询和程序设计语言
- 用于存取数据以及查询、更新和管理关系数据库系统
通用语法
- 可以单行或者多行书写,以分号结尾 ;
- 可以使用空格和缩进来增加语句的可读性
- 不区分大小写,一般关键字大写,数据库名 表名列名小写
- 注释方式
# 单行注释,MySQL 特有的单行注释
-- 单行注释
/*
多行注释
*/
分类
- 数据定义语言(DDL):用来定义数据库对象,比如数据库,表,列等
- 数据操作语言(DML):用来对数据库中表的记录进行更新
- 数据查询语言(DQL):用来查询数据库中表的记录
- 数据控制语言(DCL):用来定义数据库的访问权限和安全级别及创建用户
DDL 数据库操作 - 创建
创建数据库语法
- IF NOT EXISTS:可选项,创建前先判断,未存在时才执行创建语句
- 数据库名:必须指定的
- CHARACTER SET =字符集:可选项,用于指定数据库的字符集
-- 创建数据库
CREATE {DATABASE|SCHEMA} [IF NOT EXISTS] 数据库名
CHARACTER SET [=] 字符集
创建数据库注意事项
- 不能与其他数据库重名
- 名称可以由任意字母、阿拉伯数字、下划线(_)和“$”组成,但不能使用单独的数字
- 名称最长可为 64 个字符,别名最长为 256 个字符。
- 不能使用 MySQL 关键字作为数据库名
- 建议采用小写来定义数据库名
创建基本数据库
-- 创建名为 test_db 的数据库
CREATE DATABASE test_db;
创建指定字符集的数据库
-- 创建名为 test_db2 的数据库,并指定字符集为 utf8
CREATE DATABASE test_db2 CHARACTER SET utf8;
创建数据库前判断是否存在同名数据库
-- 如果数据库 test_db3 不存在,则创建名为 test_db3 的数据库
CREATE DATABASE IF NOT EXISTS test_db3 CHARACTER SET utf8;