二、MySQL基础操作
1. 数据库操作
显示所有数据库
SHOW DATABASES; 
创建数据库
CREATE DATABASE MyDb; 
删除数据库
— 直接删除库,不检查是否存在
 DROP DATABASE MyDb;
 — 或检查是否存在
 DROP DATABASE [IF EXISTS] MyDb;
2. 表操作
选择数据库
USE MyDb; 
创建表
CREATE TABLE Tb ( id INT(11), name VARCHAR(32), weigh FLOAT ); 
查看表结构
DESC Tb; 
删除表
— 直接删除表,不检查是否存在
 DROP TABLE Tb ; 
 — 或检查是否存在
 DROP TABLE [IF EXISTS] Tb;
设置主键
— 直接在创建表时设置主键
 CREATE TABLE Tb ( id INT(11) PRIMARY KEY, name VARCHAR(32), weigh FLOAT );
 — 或者在创建表后设置主键
 ALTER TABLE Tb ADD PRIMARY KEY (id);
联合主键
CREATE TABLE Tb ( id INT(11), name VARCHAR(32), weigh FLOAT, PRIMARY KEY (id, name) ); 
设置外键
ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY (字段名) REFERENCES 主表名 (主键名); 
添加约束
— 唯一约束
 ALTER TABLE Tb ADD UNIQUE (字段名);
— 非空约束
 ALTER TABLE Tb MODIFY 字段名 数据类型 NOT NULL;
— 默认约束
 ALTER TABLE Tb MODIFY 字段名 数据类型 DEFAULT 默认值; 
设置自动增加
ALTER TABLE Tb MODIFY id INT(11) AUTO_INCREMENT; 
查看表详细结构
SHOW CREATE TABLE Tb; 
修改表结构
— 更改表名
 ALTER TABLE 旧表名 RENAME TO 新表名;
— 修改字段名
 ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型;
— 修改字段数据类型
 ALTER TABLE 表名 MODIFY 字段名 新数据类型;
— 添加字段
 ALTER TABLE 表名 ADD 新字段名 新数据类型 约束条件;
— 在第一列添加字段
 ALTER TABLE 表名 ADD 新字段名 新数据类型 约束条件 FIRST;
— 在指定列后面添加字段
 ALTER TABLE 表名 ADD 新字段名 新数据类型 约束条件 AFTER 指定列;
修改字段排列位置
— 修改为表的第一个字段
 ALTER TABLE 表名 MODIFY 字段名 新数据类型 FIRST;
— 修改为指定列后
 ALTER TABLE 表名 MODIFY 字段名 新数据类型 AFTER 指定列;
删除表的外键约束
ALTER TABLE 表名 DROP FOREIGN KEY 外键名; 
3. 数据操作
插入数据
INSERT INTO 表名 (字段1, 字段2, 字段3, 字段n) VALUES (数据1, 数据2, 数据3, 数据n), (数据1, 数据2, 数据3, 数据n), ...; 
更新数据
UPDATE 表名 SET 字段1 = "值", 字段2 = 数值 WHERE 过滤条件; 
删除数据
— 根据条件删除
 DELETE FROM 表名 WHERE 条件语句;
— 删除所有行
 DELETE FROM 表名;
4. 查询操作
基本查询语句
— 查询某字段
 SELECT 字段1, 字段2 FROM 表名;
— 查询全部字段
 SELECT * FROM 表名;
条件查询
— 带IN关键字查询
 SELECT 字段1, 字段2 FROM 表名 WHERE 字段 IN (值1, 值2, 值3, ...);
SELECT 字段1, 字段2 FROM 表名 WHERE 字段 NOT IN (值1, 值2, 值3, ...);
— 带BETWEEN AND的范围查询
 SELECT 字段1, 字段2 FROM 表名 WHERE 字段 BETWEEN 值1 AND 值2;
SELECT 字段1, 字段2 FROM 表名 WHERE 字段 NOT BETWEEN 值1 AND 值2;
— 带LIKE的字符匹配查询
 SELECT 字段1, 字段2 FROM 表名 WHERE 字段 LIKE '%字符%';
SELECT 字段1, 字段2 FROM 表名 WHERE 字段 LIKE '______字符';
— 查询空值
 SELECT 字段1, 字段2 FROM 表名 WHERE 字段 IS NULL;
— 去除重复项
 SELECT DISTINCT 字段 FROM 表名;
— 带AND与OR的多条件查询
 SELECT 字段1, 字段2 FROM 表名 WHERE 字段1 条件语句 AND 字段2 条件语句;
SELECT 字段1, 字段2 FROM 表名 WHERE 字段1 条件语句 OR 字段2 条件语句;
 ( 虽然两种写法功能一样,但是我们更推荐使用 IN 关键字。因为它不仅逻辑清晰,执行的速度也会快于 OR 关键字。更重要的是,使用 IN 关键字,我们以后可以执行更加复杂的嵌套语句。)
排序与分组
— 对查询结果进行排序
 SELECT 字段1, 字段2 FROM 表名 ORDER BY 字段 [ASC|DESC];
— 分组查询
 SELECT 字段1, 字段2 FROM 表名 GROUP BY 字段;查询的是每个分组中 首次出现的一条记录。
限制查询结果
— 查询前x条数据
 SELECT 字段1, 字段2 FROM 表名 LIMIT x;查询表中前x条数据。
— 从a往后查询b条数据,不包含a
 SELECT 字段1, 字段2 FROM 表名 LIMIT a, b;
如有侵犯您的版权,请及时联系3500663466#qq.com(#换@),我们将第一时间删除本站数据。

















 

暂无评论内容