Contents

sql:sql查询语句

本文采用知识共享署名 4.0 国际许可协议进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,可适当缩放并在引用处附上图片所在的文章链接。

基础语法

样例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
select
 ... # 列名1,列名2,列名N 查询需要输出的内容;最后顺序运行
 name as 姓名 ,
 distinct name as 姓名 # 进行去重
from
 ... # 从什么表中查询
where
 ... # 满足某种条件的内容
 name is not null # 姓名不是空
 number == '002' # 指定学号

sql的书写规则

  • 以英文分号 ; 结尾; 所有的符合必须在英文状态输入;

  • 关键字不区分大小写(一般显示蓝色的),如select和SELECT 一样; 但列名等非关键字区分大小写。

  • 每一列的列名及字段名不可以加单引号;且列名不可以有空格(姓名OK,但姓 名不行;)

  • 语句之间不能有空格行;

注释的使用

  • 单行注释用“— XXX”线后面有一个空格;

  • 多行注释用“/**/”

运算符

  • 算术运算符:+、-、*、/—-加减乘除; 所有数据和NULL运算为空; 例如 5+null =null;

  • 比较运算符: >、>=、<、<=、<>(不等于);

  • 字符串的比较,从头开始一个个比较,例如 字符串 ‘10’< ‘2’;

  • 逻辑运算符: and(且)、or(或)、in(在。。间),in是OR的简写版; between and (在什么 区间);

字符串模糊查询

  • % 代表任意字符串
    • where 姓名 like ‘猴%’——查找第一一个字是猴
    • where 姓名 like ‘%猴’——查找最后一个字是猴的
    • where 姓名 like ‘%猴%’——查找中间包含一个字是猴的
  • _ 1个下划线表示任意一个字符,几个下划线就几个字符
    • where 姓名 like ‘猴__’——查找第一一个字是猴且包含3个字的

在线网站

SELECT

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
select 
   name as 名称,
   gdp as GDP ,
   area as 面积
from 
   world
where 
   name != 'France'and
   gdp > 2029812000000 and
   area in (242900, 377930)

sqlite3

 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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
sqlite3 testDB.db

-- 创建数据库
DROP TABLE IF EXISTS websites;

CREATE TABLE websites (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  name TEXT NOT NULL UNIQUE,
  url TEXT NOT NULL UNIQUE,
  alexa INTEGER,
  country TEXT
);

-- 查看所有表
SELECT name FROM sqlite_master WHERE type='table';

-- 插入数据
-- +----+--------------+---------------------------+-------+---------+
-- | id | name         | url                       | alexa | country |
-- +----+--------------+---------------------------+-------+---------+
-- | 1  | Google       | https://www.google.cm/    | 1     | USA     |
-- | 2  | 淘宝          | https://www.taobao.com/   | 13    | CN      |
-- | 3  | 菜鸟教程      | http://www.runoob.com/    | 4689  | CN      |
-- | 4  | 微博          | http://weibo.com/         | 20    | CN      |
-- | 5  | Facebook     | https://www.facebook.com/ | 3     | USA     |
-- +----+--------------+---------------------------+-------+---------+

INSERT INTO websites (id,name, url, alexa, country) VALUES (1,'Google', 'https://www.google.com/', 1, 'USA');
INSERT INTO websites (id,name, url, alexa, country) VALUES (2,'Taobao', 'https://www.taobao.com/', 13, 'CN');
INSERT INTO websites (id,name, url, alexa, country) VALUES (3,'Ruoob', 'http://www.runoob.com/', 4689, 'CN');
INSERT INTO websites (id,name, url, alexa, country) VALUES (4,'Weibo', 'http://weibo.com/', 20, 'CN');
INSERT INTO websites (id,name, url, alexa, country) VALUES (5,'Facebook', 'https://www.facebook.com/', 3, 'USA');


-- 查询网站信息
SELECT * FROM websites;
SELECT name,country FROM Websites;

-- SQL SELECT DISTINCT 语句 SELECT DISTINCT 语句用于返回唯一不同的值。
SELECT DISTINCT country FROM Websites;

-- 更新数据
UPDATE websites
SET name = 'Tencent'
WHERE url = 'https://www.tencent.com/';


-- 删除数据
DELETE FROM websites
WHERE name = 'Tencent';



-- 添加列
ALTER TABLE websites
ADD user_id INTEGER ;


-- 用于指定筛选条件