SQL语法

作者: Bug2Coder | 来源:发表于2018-09-14 11:51 被阅读0次

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 语法教程 SQL 教程SQL 简介SQL 语法SQL Select选择SQL SELECT DISTINC...

  • SQL 语法大全

    SQL 语法大全 标签(空格分隔): SQL DB2 SQL语法大全 SQL SELECT SQL SELECT ...

  • sql语句执行顺序

    Oracle sql语句执行顺序 sql语法的分析是从右到左一、sql语句的执行步骤:1)语法分析,分析语句的语法...

  • Presto查询执行过程

    Presto中SQL运行过程 Coordinator接到SQL后,通过SQL语法解析器把SQL语法解析变成一个抽象...

  • sql

    sql经典语句经典SQL语句大全(绝对的经典) - 浪迹天涯芳草 - 博客园 sql语法SQL语句查询语句完整语法...

  • SQL基本查询

    1.SQL SELECT: 语法: 2.SQL SELECT DISTINCT: 语法: 3.WHERE 子句: ...

  • SQL基础语句

    SQL SELECT 语法SELECT 列名称 FROM 表名称 语法SELECT * FROM 表名称 SQL ...

  • 二、SQL笔记--MySQL基本操作

    一、SQL语法规则 SQL语法规则:SQL是一种结构化编程语言 基础SQL指令通常是以行为单位 SQL指令需要语句...

  • ora2pg pl/sql转换为pl/pgsql测试

    以oracle 11g pl/sql语法为例,目标postgresql版本10.5 pl/sql语法转换 1. 变...

  • SQL 高级教程

    1.SQL TOP 子句 ===> 用于规定要返回的记录的数目 语法: MySql 语法 实例: 2.SQL LI...

网友评论

      本文标题:SQL语法

      本文链接:https://www.haomeiwen.com/subject/vixogftx.html