参考菜鸟教程:https://www.runoob.com/sql/
查询:
SELECT DISTINCT《去重取值》 TOP number《SQL server限制查询数量》 column_name AS《起别名》 alias_name
FROM table_name
WHERE column_name = value AND // OR
// column_name (NOT) LIKE《模糊查询》 value
// column_name IN《子集取值》 (value1,value2)
// column_name BETWEEN《范围内取值》 value1 AND value2
// ROWNUM《oracle限制查询数量》 <= number;
//LIMIT《MySQL限制查询数量》 number
ORDER BY column_name ASC // DESC《降序排列》
插入:
INSERT INTO table_name (column1,column2,column3,...)《全部列插入可省略列名》
VALUES (value1,value2,value3,...);
修改:
UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;
删除:
DELETE FROM table_name
WHERE some_column=some_value;《若无限定条件将删除所有的记录》
SQL通配符:
% 替代 0 个或多个字符
_ 替代一个字符
[charlist] 字符列中的任何单一字符
[^charlist]或[!charlist] 不在字符列中的任何单一字符
Join联接:
INNER JOIN:如果表中有至少一个匹配,则返回行
LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行
RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行
FULL JOIN:只要其中一个表中存在匹配,则返回行
取交集:
SELECT column_name(s) FROM table1
(INNER) JOIN《有INNER效果一样,等同JOIN。取两个表的交集》 table2
ON table1.column_name=table2.column_name;
左连接:
SELECT column_name(s) FROM table1
LEFT JOIN 《以左表为主体,返回满足条件的所有组合,左表中所有的记录都会被与右表组合,其中若右表没有符合条件的值对应的列为NULL》
右连接:
//RIGHT JOIN《与左连接相反》
合并查询结果:
SELECT column_name(s) FROM table1
UNION 《合并查询结果》 ALL《允许合并后重复》
SELECT column_name(s) FROM table2;
定义数据库或表结构:
CREATE DATEBASE datebase_name;
CREATE TABLE table_name
(
column_name1 data_type(size) constraint_name,
column_name2 data_type(size) constraint_name,
column_name3 data_type(size) constraint_name,
....
);
SQL约束:
NOT NULL - 指示某列不能存储 NULL 值。
UNIQUE - 保证某列的每行必须有唯一的值。
PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。 确保某列(或两个列多个列的结合)有唯一标识,
FOREIGN KEY - 保证一个表中的数据匹配另一个表中的值的参照完整性。
CHECK - 保证列中的值符合指定的条件。
DEFAULT - 规定没有给列赋值时的默认值
SQL函数:
SELECT AVG(column_name)《平均值》
// COUNT(column_name)《返回指定条数记录》
// COUNT(*)《返回记录数》
// COUNT(DISTINCT column_name)《返回不同值的数目》
// MAX(column_name)《最大值》
// MIN(column_name)《最小值》
// SUM(column_name)《列数》(
FROM table_name
GROUP BY 分组:
参考:https://www.runoob.com/sql/sql-groupby.html