MySQL基本语句

库操作

[查] - 查看所有数据库

SHOW DATABASES;

[增] - 创建新数据库

CREATE DATABASE 库名;

[查] - 查看创建数据库的SQL的语句

SHOW CREATE DATABASE 库名;

[用] - 使用数据库

USE 库名;

[改] - 修改数据库的编码结构

ALTER DATABASE 库名 DEFAULT CHARACTER SET 编码结构;

[删] - 删除数据库

DROP DATABASE 库名;

[查] - 查看当前使用的数据库

SELECT DATABASE();

表操作

[查] - 查看该数据库所有数据表

SHOW TABLES;

[查] - 查看表结构

DESC 表名;

[查] - 查看创表语句

SHOW CREATE TABLE 表名;

[查] - 查看引擎

SHOW ENGINES;

[增] - 创建新数据表

CREATE TABLE 表名 (
列名1 数据类型 [约束 注释],
列名2 数据类型 [约束 注释],
列名3 数据类型 [约束 注释]
) CHARACTER SET 编码结构;

表的约束

约束条件 含义
UNSIGNED 无符号约束
NULL 空约束
NOT NULL 非空约束
AUTO_INCREMENT 自动增长约束
PRIMARY KEY 主键约束
FOREIGN KEY 外键约束
DEFAULT 默认约束
UNIQUE 唯一约束
CHARACTER SET name 指定字符集

MySQL的数据类型

数值类型

类型 | 大小 | 范围(有符号) | 范围(无符号) | 用途
---|---|---|---|---|---|
TINYINT | 1字节 | (-128, 127) | (0, 255) | 小整数值
SMALLINT | 2字节 | (-32768, 32767) | (0, 65535) | 大整数值
MEDIUMINT | 3字节 | (-8388608, 8388607) | (0, 16777215) | 大整数值
INT或INTEGER | 4字节 | (-2147483648, 2147483647) | (0, 4294967295) | 大整数值
BIGINT | 8字节 | (-9 233 372 036 854 775 808,9 223 372 036 854 775 807) | (0,18 446 744 073 709 551 615) | 极大整数值
FLOAT | 4字节 | (-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38) | 0,(1.175 494 351 E-38,3.402 823 466 E+38) | 单精度浮点数值
DOUBLE | 8字节 | (-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) | 0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) | 双精度浮点数值
DECIMAL | 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2 | 依赖于M和D的值 | 依赖于M和D的值 | 小数值

日期类型
类型 大小 范围 格式 用途
DATE 3 1000-01-01/9999-12-31 YYYY-MM-DD 日期值
TIME 3 '-838:59:59'/'838:59:59' HH:MM:SS 时间值或持续时间
YEAR 1 1901/2155 YYYY 年份值
DATETIME 8 1000-01-01 00:00:00/9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS 混合日期和时间值
TIMESTAMP 4 1970-01-01 00:00:00/2038. 结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07 YYYYMMDD HHMMSS 混合日期和时间值,时间戳
字符串类型
类型 大小 用途
CHAR 0-255字节 定长字符串
VARCHAR 0-65535 字节 变长字符串
TINYBLOB 0-255字节 不超过 255 个字符的二进制字符串
TINYTEXT 0-255字节 短文本字符串
BLOB 0-65 535字节 二进制形式的长文本数据
TEXT 0-65 535字节 长文本数据
MEDIUMBLOB 0-16 777 215字节 二进制形式的中等长度文本数据
MEDIUMTEXT 0-16 777 215字节 中等长度文本数据
LONGBLOB 0-4 294 967 295字节 二进制形式的极大文本数据
LONGTEXT 0-4 294 967 295字节 极大文本数据

注:
一个汉字占多少长度与编码有关:
UTF-8:一个汉字=3个字节
GBK:一个汉字=2个字节

[删] - 删除数据表

DROP TABLE 表名;

[删] - 删除列

ALTER TABLE 表名 DROP 列名;

[改] - 插入一个新列

ALTER TABLE 表名 ADD 列名 列数据类型 [AFTER 插入位置];
ALTER TABLE 表名 ADD 列名 列数据类型 [FIRST 插入位置];

[改] - 修改已有列类型等

ALTER TABLE 表名 MODIFY 列名 新类型 [新参数 约束];

[改] - 修改列名

ALTER TABLE 表名 CHANGE 旧列名 新列名 新类型 新参数;

[改] - 修改表名

ALTER TABLE 旧表名 RENAME 新表名;

记录操作

[增] - 插入记录**

INSERT INTO 表名 (列名1, 列名2, 列名3,......) VALUES
(数据, 数据, 数据,......),
(数据, 数据, 数据,......),
(数据, 数据, 数据,......),
(数据, 数据, 数据,......);

[查] - 查找记录***

SELECT 列名1, 列名2,...... FROM 表名 [WHERE 条件];
  • WHERE 条件; <条件表达式>
  • GROUP BY 列名 [ASC/DESC]; <查询结构分组>(ASC升序,DESC降序)
  • HAVING 条件; <过滤组>
  • ORDER BY 列名 [ASC/DESC]; <排序>(ASC升序,DESC降序)
  • LIMIT M,N; <限制查询结果返回数量>(从m+1行开始,返回n行)

[改] - 修改记录

UPDATE 表名 SET 列名=新值 WHERE 更新条件;

[删] - 删除记录

DELETE FROM 表名 WHERE 删除条件;

[删] - 删除记录并清空主键记录

TRUNCATE TABLE 表名;

你可能感兴趣的:(MySQL基本语句)