distinctsql⽤法_SQL语法学习
1、常⽤的SQL命令
SELECT - 从数据库中提取数据
SELECT
UPDATE - 更新数据库中的数据
UPDATE
DELETE - 从数据库中删除数据
DELETE
INSERT INTO - 向数据库中插⼊新数据
INSERT INTO
CREATE DATABASE - 创建新数据库
CREATE DATABASE
ALTER DATABASE - 修改数据库
ALTER DATABASE
CREATE TABLE - 创建新表
CREATE TABLE
ALTER TABLE - 变更(改变)数据库表
ALTER TABLE
DROP TABLE - 删除表
DROP TABLE
CREATE INDEX - 创建索引(搜索键)
DROP INDEX - 删除索引
2、SQL基础语法
(1)SELECT 语句
SELECT 语句⽤于从数据库中选取数据。
SELECT
(2)SELECT DISTINCT 语句
SELECT DISTINCT 语句⽤于返回唯⼀不同的值,在表中,⼀个列可能会包含多个重复值,有时您也许希望仅仅列出不同(distinct)的值。DISTINCT 关键词⽤于返回唯⼀不同的值。
SELECT DISTINCT column_name,column_name
FROM table_name;
(3)WHERE ⼦句
WHERE ⼦句⽤于过滤记录。⽤于提取那些满⾜指定条件的记录。
SELECT column_name,column_name
FROM table_name
WHERE column_name operator value;
运算符可以在 WHERE ⼦句中使⽤
(4)AND & OR 运算符
如果第⼀个条件和第⼆个条件都成⽴,则 AND 运算符显⽰⼀条记录。
如果第⼀个条件和第⼆个条件中只要有⼀个成⽴,则 OR 运算符显⽰⼀条记录。
SELECT * FROM Websites
WHERE country='CN'
AND alexa > 50;
SELECT * FROM Websites
sql中delete用法WHERE country='USA'
OR country='CN';
SELECT * FROM Websites
WHERE alexa > 15
AND (country='CN' OR country='USA');
(5)ORDER BY 关键字
ORDER BY 关键字⽤于对结果集按照⼀个列或者多个列进⾏排序。
SELECT column_name,column_name
FROM table_name
ORDER BY column_name,column_name ASC|DESC;
order by A,B        这个时候都是默认按升序排列
order by A desc,B  这个时候 A 降序,B 升序排列
order by A ,B desc  这个时候 A 升序,B 降序排列
(6)INSERT INTO 语句
⽤于向表中插⼊新记录。
第⼀种形式⽆需指定要插⼊数据的列名,只需提供被插⼊的值即可:
INSERT INTO table_name
VALUES (value1,value2,value3,...);
第⼆种形式需要指定列名及被插⼊的值:
INSERT INTO table_name (column1,column2,column3,...) VALUES (value1,value2,value3,...);
(7)UPDATE 语句
⽤于更新表中的记录。
UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;
(8)DELETE 语句
⽤于删除表中的记录
DELETE FROM table_name
WHERE some_column=some_value;
3、SQL进阶语法
(1)SELECT TOP, LIMIT, ROWNUM ⼦句
⽤于规定要返回的记录的数⽬。
SQL Server / MS Access 语法
SELECT TOP number|percent column_name(s)
FROM table_name;
MySQL 语法
SELECT column_name(s)
FROM table_name
LIMIT number;
Oracle 语法
SELECT column_name(s)
FROM table_name
WHERE ROWNUM <= number;
(2)LIKE 操作符
LIKE 操作符⽤于在 WHERE ⼦句中搜索列中的指定模式。
SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern;
Select * from emp where ename like 'M%';
% 表⽰多个字值,__ 下划线表⽰⼀个字符;
M% : 为通配符,正则表达式,表⽰的意思为模糊查询信息为 M 开头的。
M%
%M% : 表⽰查询包含M的所有内容。
%M%
%M_ : 表⽰查询以M在倒数第⼆位的所有内容。
%M_
(3)SQL 通配符
通配符可⽤于替代字符串中的任何其他字符。
NOT REGEXP运算符 (或 RLIKE 和 NOT RLIKE) 来操作正则表达式REGEXP或NOT REGEXP
MySQL 中使⽤REGEXP
下⾯的 SQL 语句选取 name 以 "G"、"F" 或 "s" 开始的所有⽹站
SELECT * FROM Websites
WHERE name REGEXP '^[GFs]';
下⾯的 SQL 语句选取 name 以 A 到 H 字母开头的⽹站:
SELECT * FROM Websites
WHERE name REGEXP '^[A-H]';
下⾯的 SQL 语句选取 name 不以 A 到 H 字母开头的⽹站:
SELECT * FROM Websites
WHERE name REGEXP '^[^A-H]';
(4)IN 操作符
IN 操作符允许您在 WHERE ⼦句中规定多个值。
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...);
(5)BETWEEN 操作符
BETWEEN 操作符⽤于选取介于两个值之间的数据范围内的值。这些值可以是数值、⽂本或者⽇期。SELECT
NOT BETWEEN 操作符实例
SELECT * FROM Websites
WHERE alexa NOT BETWEEN 1 AND 20;
带有 IN 的 BETWEEN 操作符实例
SELECT * FROM Websites
WHERE (alexa BETWEEN 1 AND 20)
AND country NOT IN ('USA', 'IND');
(6)SQL 别名
通过使⽤ SQL,可以为表名称或列名称指定别名
列的 SQL 别名语法
SELECT column_name AS alias_name
FROM table_name;
表的 SQL 别名语法
SELECT column_name(s)
FROM table_name AS alias_name;
(7)SQL 连接(JOIN)
SQL join ⽤于把来⾃两个或多个表的⾏结合起来。
下图展⽰了 LEFT JOIN、RIGHT JOIN、INNER JOIN、OUTER JOIN 相关的 7 种⽤法。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。