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 语法) |
使用或切换数据库 |
语法:USE 数据库名; |
操作表结构
一、创建表
创建表 |
语法:CREATE TABLE 表名(字段名1 字段类型,字段名2 字段类型); |
创建一个结构相同的表 |
语法:CREATE TABLE 新表名 LIKE 旧表名; |
二、查看表
查看数据库中的所有表 |
语法:SHOW TABLES; |
查看表结构 |
语法:DESC 表名; |
查看创建表的 SQL 语句 |
语法:SHOW CREATE TABLE 表名; |
三、删除表
直接删除表 |
语法:DROP 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字节 |