SQL语法

SQL 是用于访问和处理数据库的标准的计算机语言

数据库表

一个数据库通常包含一个或多个表。每个表由一个名字标识(例如:"Websites"),表包含带有数据的记录(行)

use RUNOOB; 命令用于选择数据库。
set names utf8; 命令用于设置使用的字符集。
SELECT * FROM Websites; 读取数据表的信息。

一些最重要的 SQL 命令

SELECT - 从数据库中提取数据
UPDATE - 更新数据库中的数据
DELETE - 从数据库中删除数据
INSERT INTO - 向数据库中插入新数据
CREATE DATABASE - 创建新数据库
ALTER DATABASE - 修改数据库
CREATE TABLE - 创建新表
ALTER TABLE - 变更(改变)数据库表
DROP TABLE - 删除表
CREATE INDEX - 创建索引(搜索键)
DROP INDEX - 删除索引

SELECT: 用于从数据库中选取数据、结果被存储在一个结果表中、称为结果集

SELECT column_name,column_name 
FROM table_name;

SELECT DISTINCT: 用于返回唯一不同的值

SELECT DISTINCT column_name,column_name 
FROM table_name;

WHERE: 用于过滤记录

SELECT column_name,column_name 
FROM table_name 
WHERE column_name operator value;
运算符 描述
= 等于
!= 不等于
> 大于
< 小于
>= 大等于
<= 小等于
BETWEEN 在某个范围内
LIKE 模糊查询
IN 指定针对某个列的多个可能值

AND & OR 运算符: 用于基于一个以上的条件对记录进行过滤

SELECT column_name,column_name 
FROM table_name 
WHERE column_name operator value AND(OR) column_name operator value2;

ORDER BY: 用于对结果集进行排序

SELECT column_name,column_name
FROM table_name
ORDER BY column_name,column_name ASC|DESC;

ORDER BY 关键字默认按照升序对记录进行排序。如果需要按照降序对记录进行排序,您可以使用 DESC 关键字

INSERT INTO: 用于向表中插入新记录

INSERT INTO table_name
VALUES (value1,value2,value3,...);
或
INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);

UPDATE: 用于更新表中的记录

UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;

DELETE: 用于删除表中的记录

DELETE FROM table_name
WHERE some_column=some_value;

LIKE 操作符: 用于在 WHERE 子句中搜索列中的指定模式

SELECT column_name(s)
FROM table_name
WHERE column_name LIKE zhang;

通配符: 用于替代字符串中的任何其他字符

通配符 描述
% 替代 0 个或多个字符
_ 替代一个字符
[charlist] 字符列中的任何单一字符
[^charlist]或[!charlist] 不在字符列中的任何单一字符

IN 操作符: 允许在 WHERE 子句中规定多个值

SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...);

BETWEEN 操作符: 用于选取介于两个值之间的数据范围内的值

SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;

别名: 可以为表名称或列名称指定别名

SELECT column_name AS alias_name
FROM table_name;
SELECT column_name(s)
FROM table_name AS alias_name;

SQL JOIN: 用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段

  • INNER JOIN:如果表中有至少一个匹配,则返回行
  • LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行
  • RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行
  • FULL JOIN:只要其中一个表中存在匹配,则返回行

INNER JOIN: 在表中存在至少一个匹配时返回行

SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name=table2.column_name;

LEFT JOIN: 从左表(table1)返回所有的行,即使右表(table2)中没有匹配。如果右表中没有匹配,则结果为 NULL

SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name=table2.column_name;

RIGHT JOIN: 从右表(table2)返回所有的行,即使左表(table1)中没有匹配。如果左表中没有匹配,则结果为 NULL

SELECT column_name(s)
FROM table1
RIGHT JOIN table2
ON table1.column_name=table2.column_name;

FULL OUTER JOIN: 只要左表(table1)和右表(table2)其中一个表中存在匹配,则返回行.结合了 LEFT JOIN 和 RIGHT JOIN 的结果。

SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name=table2.column_name;

你可能感兴趣的:(SQL语法)