1. 什么是 SQL
结构化查询语言(Structured Query Language)简称 SQL ,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
如何创建一个数据库
创建数据库要使用 CREATE DATABASE
语句:
1 | create database database_name; |
创建数据库中的表要使用 CREATE TABLE
语句:
1 | create table table_name( |
2. Crud
数据库最基本的操作无非就是增(create)、删(delete)、查(retrieve/read)、改(update)。
增(create)
增操作要使用 INSERT INTO
,将数据添加至尾部:
1 | insert into table_name |
删(delete)
删操作要使用 DELETE
:
1 | delete * from table_name; -- 删除所有数据,* 可以省略 |
查(retrieve/read)
查操作要使用 SELECT
:
1 | select * from table_name; -- 查询所有字段 |
改(update)
改操作要使用 UPDATE
,由于更新操作需要指定某一条数据,所以必须使用条件语句:
1 | update table_name |
3. WHERE 子句
WHERE
是最常用的子句,提取满足条件的语句,一般用于查、改、删。
1 | -- 只查询满足 some_col=some_value 的数据的 col1 与 col2 字段 |
IN 操作符
IN 操作符允许在 WHERE 子句中规定多个值。
1 | -- 不使用 IN |
BETWEEN 操作符
BETWEEN
操作符用于选取介于某段数据范围内的值。对于不同的数据库,区间的开闭情况也不一样(有可能是闭区间,也有可能是半开半闭区间)。
1 | -- 不使用 BETWEEN |
若 BETWEEN
后用的是文本值,则表示以介于文本范围之间开头的数据
1 | -- 选取 name 以介于 'A' 和 'H' 之间字母开始的数据 |
LIKE 操作符
LIKE
操作符用于在 WHERE
子句中进行模糊查询。
1 | select * from table_name |
区别于 =
,LIKE
后的字符串是模式串,有以下几种通配符:
通配符 | 描述 |
---|---|
% | 替代 0 个或多个字符 |
_ | 替代 1 个字符 |
[charlist] | 字符列中的任何单一字符 |
[^charlist] 或 [!charlist] | 不在字符列中的任何单一字符 |
1 | 'https%' -- 表示以 https 开头的字符串 |
4. 其他
还有一些其他的关键字
SELECT DISTINCT
SELECT DISTINCT
会把查询的字段去重。
1 | select distinct col1, col2 from table_name; |
ORDER BY
ORDER BY
对指定字段排序(默认升序),如果有多个字段,则先给前面的字段排序,再在此基础上给后面的字段排序。如果想使用逆序得加 DESC
关键字。
1 | -- 升序 |