Qingquan-Li / blog

My Blog
https://Qingquan-Li.github.io/blog/
132 stars 16 forks source link

常用 SQL 语句( MySQL ) #37

Open Qingquan-Li opened 7 years ago

Qingquan-Li commented 7 years ago

一、插入语句

INSERT INTO 表名 (列名1,列名2,列名3) VALUES(内容1,内容2,内容3);

二、删除表中的数据

DELETE FROM 表名 WHERE 删除条件;

三、更新语句

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

四、查询语句

SELECT 列名 FROM 表名 [查询条件]; -- 普通查询
SELECT 列名 FROM 表名 WHERE 条件; -- 按特定条件查询( 例如 =、>、<、>=、<、!= 以及一些扩展运算符 is [NOT] NULL、IN、LIKE )
SELECT 列名 FROM 表名 WHERE 列名 LIKE CONCAT('%','a','%'); -- 典型的模糊查询
SELECT 列名 FROM 表名 LIMIT 要查的数据序号((当前页数-1)*页面大小),页面大小; -- 查询时把 LIMIT 放在查询的最后面,分页查询
SELECT 列名 FROM 表名 ORDER BY 列名; -- 按照指定列名 ORDER BY 升序排列
SELECT 列名 FROM 表名 ORDER BY 列名 DESC; -- 按指定列名 倒序排列
/*模糊查询 + 倒序排列 + 分页查询*/
SELECT * FROM tb_user WHERE userName LIKE CONCAT('%','a','%') ORDER BY userId DESC LIMIT 0,2;
/*联表查询:*/

/*内联: inner JOIN */
/*一般我们写成:*/ SELECT * FROM table1,table2 WHERE 1.userId = 2.userId; 
/*高效率写法:*/ SELECT * FROM table1 inner JOIN table2 ON 1.userId = 2.userId;

/*左联: left outer JOIN */
/*显示左表 T1 中的所有行,并把右表 T2 中符合条件加到左表 T1 中;右表 T2 中不符合条件,就不用加入结果表中,并且 NULL 表示*/
SELECT * FROM table1 left outer JOIN table2 ON 1.userId = 2.userId; 

/*右联: right outer JOIN */
/*显示右表 T2 中的所有行,并把左表 T1 中符合条件加到右表 T2 中;左表 T1 中不符合条件,就不用加入结果表中,并且 NULL 表示*/
SELECT * FROM table1 right outer JOIN table2 ON 1.userId = 2.userId;

/*全联: full outer JOIN */
/*显示左表 T1 、右表 T2 两边中的所有行,即把左联结果表 + 右联结果表组合在一起,然后过滤掉重复的*/
SELECT * FROM table1 full outer JOIN table2 ON 1.userId = 2.userId;

sql_joins



五、创建表

CREATE TABLE 表名 (
id INT(10) NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
day DATE,
...
);

六、删除表

DROP TABLE 表名;

七、修改表

/*添加一个列*/
ALTER TABLE 表名 ADD 列名 列数据类型 [after 插入位置];
/*修改一个列*/
ALTER TABLE 表名 CHANGE 列名 新列名 新数据类型;
/*删除一个列*/
ALTER TABLE 表名 DROP 列名;
/*重命名*/
ALTER TABLE 表名 RENAME 新表名;

八、删除数据库

DROP DATABASE 数据库名称;

九、创建数据库

CREATE DATABASE database_name;
/*设置 CHARACTER SET 和 COLLATE */
CREATE DATABASE database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;



附:常用的查看数据库语句

/*查看有哪些数据库*/
SHOW DATABASES;
/*使用指定的数据库*/
USE 数据库名;
/*查看当前数据库的状态*/
STATUS;
/*查看当前数据库下的所有表*/
SHOW TABLES;
/*查看表结构*/
DESC 表名;
/*查看表中的所有数据列*/
SELECT * FROM 表名;

附:《漫画数据库》附录 常用 SQL 命令

常用 SQL 命令