SQL 概念和语法
SQL 是结构化查询语言,SQL 由规范语法和特有语法组成。不同的关系型都数据库都支持 SQL 规范语法,同时也有各自独有的 SQL 语法。每条 SQL 语句以分号结尾,SQL 语句中不区分大小写,但是关键字一般使用大写。SQL 规范语法中提供了两种注释方式,在 MySQL 中有自己特有的注释方式,分别如下:
| 注释语法 | 说明 |
|---|
| --空格 | 单行注释 |
| /**/ | 多行注释 |
| # | 单行注释,只能在 MySQL 中使用 |
操作数据库
一、创建数据库
| 创建数据库 |
| 语法:CREATE DATABASE 数据库名; |
| 创建数据库并判断数据库是否存在,如果不存在则创建,否则反之 |
| 语法:CREATE DATABASE IF NOT EXISTS 数据库名; |
| 创建数据库,并指定字符集 |
| 语法:CREATE DATABASE 数据库名 CHARACTER SET 字符集; |
二、查看数据库
| 查看所有数据库 |
| 语法:SHOW DATABASES; |
| 查看数据库定义信息 |
| 语法:SHOW CREATE DATABASE 数据库名; |
三、修改数据库
| 修改数据库字符集 |
| 语法:ALTER DATABASE 数据库名 DEFAULT CHARACTER SET 字符集; |
四、删除数据库
| 删除数据库 |
| 语法:DROP DATABASE 数据库名; |
五、使用数据库
| 查看正在使用的数据库 |
| 语法:SELECT DATABASE();(MySQL 语法) |
操作表结构
一、创建表
| 创建表 |
| 语法:CREATE TABLE 表名(字段名1 字段类型,字段名2 字段类型); |
| 创建一个结构相同的表 |
| 语法:CREATE TABLE 新表名 LIKE 旧表名; |
二、查看表
| 查看数据库中的所有表 |
| 语法:SHOW TABLES; |
| 查看创建表的 SQL 语句 |
| 语法:SHOW CREATE TABLE 表名; |
三、删除表
| 删除表,先判断表是否存在,如果存在则删除,否则反之 |
| 语法:DROP TABLE IF EXISTS 表名; |
四、修改表结构
| 表添加字段 |
| 语法:ALTER TABLE 表名 ADD 字段名 数据类型; |
| 修改表字段数据类型 |
| 语法:ALTER TABLE 表名 MODIFY 字段名 数据类型; |
| 修改表字段名 |
| 语法:ALTER TABLE 表名 CHANGE 旧字段名 新字段名 数据类型; |
| 删除表字段 |
| 语法:ALTER TABLE 表名 DROP 字段名; |
| 修改表名 |
| 语法:RENAME TABLE 表名 TO 新表名; |
| 修改表字符集 |
| 语法:ALTER TABLE 表名 CHARACTER SET 字符集; |
五、SQL 数据类型
| 分类 | 类型名称 | 说明 |
|---|
| 整数 | TINYINT | 微整形(1 个字节) |
| SMALLINT | 小整型(2 个字节) |
| MEDIUMINT | 中整形(3 个字节) |
| INT | 整形(4 个字节) |
| INTEGER | 整形(4 个字节) |
| 小数 | FLOAT | 单精度浮点数(4 个字节) |
| DOUBLE | 双精度浮点数(8 个字节) |
| 日期 | TIME | 表达时间类型 |
| DATE | 表达日期类型 |
| DATETIME | 可表示时间类型也可表示日期类型 |
| 字符串 | CHAR(m) | 固定长度字符串,m 取值:0~255 |
| VARCHAR(m) | 可变长度字符串,m 取值:0~25535 |
| 大二进制 | TINYBLOB | 允许长度:0~225字节 |
| BLOB | 允许长度:0~65535字节 |
| MEDIUMBLOB | 允许长度:0~167772150字节 |
| LONGBLOB | 允许长度:0~4294967295字节 |
| 大文本 | TINYTEXT | 允许长度:0~225字节 |
| TEXT | 允许长度:0~65535字节 |
| MEDIUMTEXT | 允许长度:0~167772150字节 |
| LONGTEXT | 允许长度:0~4294967295字节 |