sql语句

一:基础内容

可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。SQL (结构化查询语言)是用于执行查询的语法。但是 SQL 语言也包含用于更新、插入和删除记录的语法。

查询和更新指令构成了 SQL 的 DML 部分:

SELECT - 从数据库表中获取数据

UPDATE - 更新数据库表中的数据

DELETE - 从数据库表中删除数据

INSERT INTO - 向数据库表中插入数据
SQL 的数据定义语言 (DDL) 部分使我们有能力创建或删除表格。我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。
SQL 中最重要的 DDL 语句:
CREATE DATABASE - 创建新数据库
ALTER DATABASE - 修改数据库
CREATE TABLE - 创建新表
ALTER TABLE - 变更(改变)数据库表
DROP TABLE - 删除表
CREATE INDEX - 创建索引(搜索键)
DROP INDEX - 删除索引

二:基础使用

1:SELECT

select  列名  from 表名 where 查询条件

在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。

关键词 DISTINCT 用于返回唯一不同的值。

SELECT DISTINCT 列名称 FROM 表名称

2:INSERT INTO 

INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)

3:UPDATE

UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

多列时中间用,分割

4:DELETE

DELETE FROM 表名称 WHERE 列名称 = 值

删除所有行
可以在不删除表的情况下删除所有的行。这意味着表的结构、属性和索引都是完整的:
DELETE FROM table_name

或者:DELETE * FROM table_name

三:高级使用

1:top

TOP 子句用于规定要返回的记录的数目。并非所有的数据库系统都支持 TOP 子句。

MySQL 语法

SELECT column_name(s) FROM table_name LIMIT number

Oracle 语法

SELECT column_name(s) FROM table_name WHERE ROWNUM <= number

SQL Server 的语法:

SELECT TOP number|percent column_name(s) FROM table_name

SELECT TOP 50 PERCENT * FROM Persons(选取前百分之五十的记录)

2:like

SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern

在 SQL 中,可使用以下通配符:

通配符描述
%替代一个或多个字符
_仅替代一个字符
[charlist]字符列中的任何单一字符

[^charlist]

或者

[!charlist]

不在字符列中的任何单一字符

3:between

操作符 BETWEEN ... AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。

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

如需使显示范围之外的人,请使用 NOT 操作符:

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

4:Alias(别名)

SELECT column_name(s) FROM table_name AS alias_name

SELECT column_name AS alias_name FROM table_name

5:join

用于根据两个或多个表中的列之间的关系,从这些表中查询数据。

JOIN: 如果表中有至少一个匹配,则返回行

INNER JOIN(内连接)INNER JOIN 与 JOIN 是相同的。

LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行

RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行

FULL JOIN: 只要其中一个表中存在匹配,就返回行

6:union

UNION 操作符用于合并两个或多个 SELECT 语句的结果集。

请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。

SELECT column_name(s) FROM table_name1  UNION  SELECT column_name(s) FROM table_name2

UNION ALL 命令和 UNION 命令几乎是等效的,不过 UNION ALL 命令会列出所有的值。

SQL Statement 1 UNION ALL  SQL Statement 2

7: select into

SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中。

SELECT INTO 语句常用于创建表的备份复件或者用于对记录进行存档。

把所有的列插入新表:

SELECT *  INTO new_table_name [IN externaldatabase]  FROM old_tablename

把希望的列插入新表:

SELECT column_name(s) INTO new_table_name [IN externaldatabase]  FROM old_tablename

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值