SQL学习笔记(一)之基础语句
目录
0. SQL基础语句
1. SELECT (select)
-
功能:用于从数据表中选取数据到结果集。
-
两种语法:
-
选取特定某几个字段的数据:
SELECT column_name, column_name FROM table _name;
-
-
选取所有字段的数据:
SELECT * FROM table_name;
-
特殊功能:可以用来做运算,可以简单测试数据库是否连接成功。
SELECT value1 operator value2;
- 例子:SELECT 1 + 1;
2. SELECT DISTINCT (select distinct)
-
功能:返回唯一不同的值;即在一个字段中有多个值相同,则最后只会保留其中的一个;如果是两个及以上的字段,则是剔除掉对应全部相等的记录。
-
语法:
SELECT DISTINCT column_name(s) FROM table_name
3. WHERE (where)
-
功能:过滤记录。
-
语法:
SELECT column_name,column_name FROM table_name WHERE column_name operator value;
- 其中operator即为运算符。
4. operator(运算符)
运算符 | 描述 |
---|---|
= | 等于 |
<> | 不等于。注释:在 SQL 的一些版本中,该操作符可被写成 != |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
BETWEEN | 在某个范围内 |
LIKE | 搜索某种模式 |
IN | 指定针对某个列的多个可能值 |
4.1 BETWEEN (between)
-
功能:返回某个范围的数据集合,结合
AND
关键字使用。 -
语法:(注意在WHERE后要有column_name)
SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2;
4.2 IN (in)
-
功能:指定针对某个列的多个可能值;即有一个集合,只要指定字段的值在这个集合中,就将其整条记录加入到结果集中。
-
语法:
SELECT column_name(s) FROM table_name WHERE column_name IN (value1,value2,...);
- 注意上面的括号中的
(value1,value2,...)
就是一个集合,括号不能省略。 - 可以在IN前加一个
NOT
,表示不再该集合中的记录。
- 注意上面的括号中的
4.3 LIKE (like)
-
功能:搜索指定模式。
-
语法:
SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern;
- 其中pattern是过滤的一种模式,类正则表达式。
5. AND & OR (and & or)
-
AND
功能:只有两个条件都成立,才会提取该条数据。 -
OR
功能:只要有一个条件成立就会提取该条记录。 -
语法:(其中
...
表示column_name operator value,即一个表达式)SELECT column_name(s) FROM table_name WHERE ... AND|OR ...;
6. ORDER BY (order by)
-
功能:对结果集进行排序。
-
语法:
SELECT column_name(s) FROM table_name ORDER BY column_name1 ASC|DESC, column_name2 ASC|DESC...;
- 说明:
- 结果集会先按column_name1排序,再按column_name2进行排序。。。以此类推。
- 如果关键字后的column_name后没有跟ASC或DESC,则默认为升序排序,如果要让它降序排序,则加入DESC关键字。
- ASC(Ascending order);DESC(Descending order)。
- 说明:
7. INSERT INTO (insert into)
-
功能:用于向表中插入新的记录。
-
两种语法:
-
无序指定插入数据的列名,提供插入值即可:
INSERT INTO table_name VALUES (value1, value2, value3, ...), (value1, value2, value3, ...), ...;
- 注意:如果想要一条语句中插入多个记录,要用逗号隔开,并通过括号插入新的值。这种情况下,必须完整的填入所有字段的值。
-
指定列名及被插入的值:
INSERT INTO table_name (column_name1, column_name2, ...) VALUES (value1, value2, value3, ...), (value1, value2, value3, ...), ...;
- 注意:较第一种多了指定列名,好处是可以选着想要填写的列名来插入数据。
-
8. UPDATE (update)
-
功能:用于更新表中已存在的记录。
-
语法:
UPDATE table_name SET column_name1 = value1, column_name2 = value2, ... WHERE some_column some_operator some_value;
- 注意:UPDATE和SET的搭配,且UPDATE后没有FROM;并且可以一次性更改多个字段的值,通过逗号隔开。
9. DELETE (delete)
-
功能:用于删除表中指定的记录。
-
语法:
DELETE FROM table_name WHERE some_column some_operator some_value;
- 注意:WHERE语句指定了要删除的记录。DELETE后跟着一个FROM。