SQL-基础语法(数据行、列相关)

时间:2020-03-07
本文章向大家介绍SQL-基础语法(数据行、列相关),主要包括SQL-基础语法(数据行、列相关)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

下面语法 SQL Server 2008 R2 可以正常运行。

SELECT 语句

1
2
3
4
SELECT column_name, column_name, ...
FROM table_name;

SELECT * FROM table_name;

DISTINCT 关键字

用于返回唯一不同的值。

1
2
SELECT DISTINCT column_name, column_name, ...
FROM table_name;

ORDER BY 关键字

1
2
3
SELECT column_name, column_name, ...
FROM table_name
ORDER BY column_name ASC/DESC, column_name ASC/DESC;

TOP 关键字

1
2
3
4
5
6
7
8

SELECT TOP 5 column_name, column_name, ...
FROM table_name;
-- 返回前百分之五的记录
SELECT TOP 5 PERCENT column_name, column_name, ...
FROM table_name;

-- 和 ORDER BY 结合返回倒数记录

WHERE 子句

1
2
3
SELECT column_name, column_name, ...
FROM table_name
WHERE column_name operator value;

SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。
如果是数值字段,不要使用引号。

WHERE 子句中的运算符

运算符 描述
= 等于
<>(!=) 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于
BETWEEN 在某个范围内
LIKE 搜索某种模式
IN 指定针对某个列的多个可能值

LIKE 运算符

1
2
3
SELECT column_name, column_name, ...
FROM table_name
WHERE column_name LIKE pattern;

通配符

通配符 描述
% 替代 0 个或多个字符
_ 替代一个字符
[charlist] 字符列表中的任何单一字符
charlist或[!charlist] 不在字符列表中的任何单一字符
  • LIKE ‘%a’: 以a结尾的记录
  • LIKE ‘a%’:以a开头的记录
  • LIKE ‘%a%’: 含有a的记录
  • LIKE ‘_a_‘: 三位且中间字母是a的记录
  • LIKE ‘_a’: 两位且结尾字母是a的记录
  • LIKE ‘a_’: 两位且开头字母是a的记录
  • LIKE ‘[ab]%’: 以a或b开头的记录
  • LIKE ‘ab%’: 不以a或b开头的记录

IN 运算符

与 = 运算符相识,但可以匹配多个值。

1
2
大专栏  SQL-基础语法(数据行、列相关)pan class="line">3
SELECT column_name, column_name, ...
FROM table_name
WHERE column_name IN (value1, value2, ...);

BETWEEN 运算符

1
2
3
SELECT column_name, column_name, ...
FROM table_name
WHERE column_name BETWEEN value1 AND value2;

值可以是数值、文本或者日期。

AND、OR、NOT 运算符

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
-- AND
SELECT column1, column2, ...
FROM table_name
WHERE condition1 AND condition2 ...;

-- OR
SELECT column1, column2, ...
FROM table_name
WHERE condition1 OR condition2 ...;

-- NOT
SELECT column1, column2, ...
FROM table_name
WHERE NOT condition;

SELECT column_name, column_name, ...
FROM table_name
WHERE column_name operator value
AND column_name operator value
OR column_name operator value;

SELECT column_name, column_name, ...
FROM table_name
WHERE column_name NOT LIKE pattern;

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

SELECT column_name, column_name, ...
FROM table_name
WHERE column_name NOT BETWEEN value1 AND value2;

INSERT INTO 语句

1
2
3
4
5
INSERT INTO table_name
VALUES (value1, value2, value3,...);

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

UPDATE 语句

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

注:不加 WHERE 子句将修改全部记录

DELETE 语句

1
2
DELETE FROM table_name
WHERE some_column = some_value;

注:不加 WHERE 子句将删除全部记录

原文地址:https://www.cnblogs.com/lijianming180/p/12433037.html