756 字
4 分钟
MySql基础命令
Sql基础语法
1. 数据库操作
# 创建数据库CREATE DATABASE 'databaseName';
# 删除数据库DROP DATABASE 'databaseName';
# 查看所有数据库SHOW DATABASES;
# 使用数据库USE 'databaseName';
# 查看当前使用的数据库SELECT DATABASE();2. 表操作
# 判断表是否存在,存在删除DROP TABLE IF EXISTS 'tableName';
# 创建表CREATE TABLE 'tableName' ( id char(8) PRIMARY KEY NOT NULL, # 主键 不为空 name VARCHAR(20) NOT NULL, age int, gender CHAR(2) DEFAULT "男" # 默认值);
# 查看所有表SHOW TABLES;
# 查看表结构DESC 'tableName';
# 修改表名RENAME TABLE 'oldTableName' to 'newTableName'
# 增加列ALTER TABLE 'talbeName' add 'columnName' 'dataType' [约束];
# 修改列数据类型ALTER TABLE 'tableName' MODIFY 'columnName' 'newDataType';
# 修改列名ALTER TABLE 'tableName' CHANGE 'oldColumnName' 'newColumnName' 'dataType';
# 删除列ALTER TABLE 'tableName' DROP 'columnName';
# 删除表DROP TABLE 'tableName';NOTE数据类型(Data Types)
- 数值类型
类型 说明 示例 INT整数 123 FLOAT小数(单精度) 3.14 DOUBLE小数(双精度) 3.1415926 DECIMAL(m,n)精确小数(常用于金额) 12.34
- 字符串类型
类型 说明 示例 CHAR(n)固定长度字符串 CHAR(10) VARCHAR(n)可变长度字符串 VARCHAR(255) TEXT长文本 新闻、描述 ENUM枚举类型 ENUM(‘M’,‘F’)
- 日期与时间类型
类型 说明 示例 DATE日期 ’2025-11-07’ TIME时间 ’14:30:00’ DATETIME日期+时间 ’2025-11-07 14:30:00’ TIMESTAMP自动记录修改时间 自动更新
3. 数据操作
- 插入数据
INSERT INTO 'tableName'(c1, c2, ...) VALUES (v1, v2, ...)[, (v1, v2, ...), (v1, v2, ...)];
INSERT INTO 'tableName' VALUES (v1, v2, ...)[, ()];- 查询数据
# 查询全部数据SELECT * FROM 'tableName';
# 查询指定列SELECT c1, c2, FROM 'tableName';
# 条件查询SELECT * FROM 'tableName' WHERE 条件;
# 排序SELECT * FROM 'tableName' ORDER BY 'columnName' ASC|DESC;
# 去重SELECT DISTINCT 'columnName' FROM 'tableName';
# 限制结果数量SELECT * FROM 'tableName' LIMIT n; # 前n条SELECT * FROM 'tableName' LIMIT m, n; # 从第m+1条开始取n条- 更新数据
UPDATE 'tableName' SET c1 = v1, c2 = v2 WHERE 条件;- 删除数据
DELETE FROM 'tableName' WHERE 条件;
# 清空表,保留解构TRUNCATE TABLE 'tableName';4. 条件与运算符
# 比较= # 等于<> # 不等于> # 大于< # 小于>= # 大于等于<= # 小于等于
# 逻辑AND # 与OR # 或NOT # 非
# 范围BETWEEN v1 AND v2
# 集合IN (v1, v2, ...)
# 模糊匹配LIKE 'A%' # 以A开头LIKE '%A' # 以A结尾LIKE '%A%' # 包含A
# 空值判断IS NULLIS NOT NULL5. 函数
# 聚合函数COUNT(*) # 统计数量SUM('columnName') # 求和AVG('columnName') # 平均值MAX('columnName') # 最大值MIN('columnName') # 最小值
# 字符串CONCAT(a, b) # 拼接LENGTH('columnName') # 长度UPPER()/LOWER() # 大写/小写转换SUBSTRING(str, pos, len) # 截取
# 日期NOW() # 当前时间CURDATE() # 当前日期YEAR(date) # 提取年份MONTH(date) # 提取月份DAY(date) # 提取天数6. 分组聚合
# 分组SELECT 'columnName', 聚合函数 FROM 'tableName' GROUP BY 'columnName';
# 分组后筛选SELECT 'columnName', 聚合函数 FROM 'tableName' GROUP BY 'columnName' HAVING 条件;7. 约束
| 约束名 | 说明 |
|---|---|
| PRIMARY KEY | 主键(唯一且非空) |
| FOREIGN KEY | 外键(建立表间关系) |
| NOT NULL | 不允许为空 |
| UNIQUE | 唯一值 |
| DEFAULT | 默认值 |
| CHECK | 检查条件(部分版本支持) |
CREATE TABLE user ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50) NOT NULL, age INT CHECK(age >= 0), email VARCHAR(100) UNIQUE);部分信息可能已经过时













