SQL Server对大小写不敏感,每条语句末端使用分号。正则表达式
SELECT 从数据中提取数据sql
数据库
DELETE 从数据库中删除数据函数
INSERT INTO 向数据库中插入新数据网站
CREATE DATABASE 建立新数据库url
ALTER DATABASE 修改数据库spa
CREATE TABLE 建立新表排序
ALTER TABLE 变动(改变)数据库表索引
DROP TABLE 删除表字符串
CREATE INDEX 建立索引(搜索键)
DROP INDEX 删除索引
SELECT语句 用于从数据库中抽取数据,结果存储在一个结果表中,称为结果集。
SELECT column_name,column_name FROM table_name;(抽取指定列)
与
SELECT * FROM table_name;(抽取全部列)
SELECT DISTINCT column_name,column_name FROM table_name;
SELECT DISTINCT语句用于返回惟一不一样的值,没有重复项。
SELECT column_name,column_name FROM table_name
WHERE column_name operator value;
(WHERE子句用于过滤记录)
WHERE子句中的运算符
AND & OR
ORDER BY 用于对结果集进行排序。
ORDER BY关键字用于对结果集按照一个列或者多个列进行排序,默认按照升序对记录进行排序,如需使用降序,须要使用DESC关键字。
SELECT column_name,column_name FROM table_name
ORDER BY column_name,column_name ASC|DESC;
ASC 表示升序;DESC 表示降序;
INSERT INTO用于向表中插入新记录
不指定要插入数据的列名,只提供被插入的值
INSERT INTO table_name
VALUES (values1,values2,values3,...);
此时须要列出插入行的每一列数据
指定列名及插入的值
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;
注意:若是省略WHERE语句,则将会对表中该列全部内容赋该值。
DELETE语句:用于删除表中数据
DELETE FROM table_name
WHERE some_column=some_value;
DELETE FROM table_name; 或 DELETE * FROM table_name; 在不删除表的状况下删除全部的行,表的结构、属性、索引保持不变。
SELECT TOP语句:用于规定要返回的记录的数目,更适用于拥有数千条记录的大型表
LIMIT, ROWNUM
SELECT TOP number|percent column_name(s) FROM table_name;
实例: SELECT * FROM table_name LIMIT NUMBER; 表示,从“table_name”表中选取number条记录。
LIKE操做符:用于在WHERE子句中搜索指定列中的指定模式
SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern;
通配符:可用于替代字符串中的任何其余字符。与LIKE操做符一块儿使用
通配符 | 描述 |
---|---|
% | 替代0个或多个字符 |
_ | 替代一个字符 |
[charlist] | 字符列中的任何单一字符 |
[^charlist]或[!charlist] | 不在字符列中的任何单一字符 |
%: SELECT * FROM Websites WHERE url LIKE 'https%'; SELECT * FROM Websites WHERE url LIKE '%OO%'; _: SELECT * FROM Websites WHERE name LIKE '_oogle'; SELECT * FROM Websites WHERE name LIKE 'G_o_le'; [charlist]: SELECT * FROM Websites WHERE name REGEXP '^[GFs]'; 选取name以“G”、“F”或“s”开始的全部网站 使用REGEXP或NOT REGEXP运算符(或RLIKE和NOT RLIKE)来操做正则表达式。 SELECT * FROM Websites WHERE name REGEXP '^[A-H]'; 选取 name 以 A 到 H 字母开头的网站 [^charlist]或[!charlist]: SELECT * FROM Websites WHERE name REGEXP '^[^A-H]'; 选取 name 不以 A 到 H 字母开头的网站.
IN操做符
SELECT column_name(s) FROM table_name WHERE column_name IN (value1,value2,...);
BETWEEN操做符
BETWEEN操做符选取介于两个值之间的数据范围内的值,这些值能够是数值、文本或者日期。
BETWEEN
SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2;
NOT BETWEEN
如须要显示不在范围内的数据,使用NOT BETWEEN:
SELECT column_name(s) FROM table_name WHERE column_name NOT BETWEEN value1 and value2;
带有IN的BETWEEN操做符实例
SELECT column_name(s) FROM table_name WHERE (column_name BETWEEN value1 and value2) AND column_name IN ('value1', 'value2');
带有文本值的须要在文本值上加上单引号' '。
SQL别名
经过使用SQL,能够为表名称或列名称指定别名。基本上,建立别名是为了让列名称的可读性更强。
列的SQL别名语法
SELECT column_name1 AS alias_name,column_name2 AS alias_name FROM table_name;
能够把多个列合起来做为一个列使用别名语法
SELECT CONCAT(column_name1,','column_name2,',',column_name3) AS alias_name FROM table_name;
表的SQL别名语法
SELECT column_name(s) FROM table_name AS alias_name;
在如下状况中,使用别名用处更大:
在查询中涉及超过一个表
在查询中使用了函数
列名称很长或者可读性差
须要把两个列或者多个列结合在一块儿
SQL链接(JOIN)
SQL JOIN用于把来自两个或多个表的行结合起来,基于这些表