SQL 基础语句

一、选择语句

USE

用于选中数据库;

SELECT

用于选择某列,全选时用*表示,做选择语句时,选取内容不用带括号,之间用逗号隔开;

FROM

用于选中数据的来源表;

AS

用于起别名(后跟单引号,双引号皆可)。

二、运算符

1. AND,OR,NOT

AND

表示并列,需同时满足;

OR

表示而这满足已即可;

NOT

表示否命题,常与AND和OR连用,放在他们之前。

2. IN

行使多个OR的作用

例:‘NA’ OR ‘JA’ OR ‘IA’,用IN表示则为IN(‘NA’  ‘JA’  ‘IA’);

3. BETWEEN

用于同一主体的AND,表示一个闭区间。

例:points>=1000 AND points<=2000,用BETWEEN表示为points BETWEEN 1000 AND 2000;

4.LIKE

在表中搜索含有LIKE中关键词的内容,前带主体,内容带引号。

例:last_name LIKE 'b%' (%表示任意数量的字符,可任意摆放, '%b%', '%b')

例:last_name LIKE '_b'(_表示占用单个字符,可任意多个摆放,_b_', '__b');

5. REGEXP (正则表达式)

表示包含,跟主体,可以理解为last_name REGEXP 'x'=last_name LIKE '%x%',

REGEXP '^x' 表示“x”要在句首,

REGEXP 'x&'表示“x”要在句尾,

REGEXP 'x|y'表示包含“x或y”任一即可,

REGEXP '[asd]x'表示中括号内任一与“x”结合的所有种类,即包含“ax,bx,cx”,

REGEXP 'x[asd]'同上,

REGEXP '[a-d]x'表示“a到d”的所有字符与x的结合;

6. IS NULL

用来查找表格中的缺失值,带主体。例:phone IS NULL;

还可以用IS NOT NULL,表示查找未缺失值

7. ORDER BY

起到排序作用,一般位置在WHERE之下,直接跟列名,可实现多列排序,多个列名之间用逗号隔开;

例:ORDER BY points ,也可在列名后加DESC表示倒序排列

8. LIMIT 

限制选取的行数

例:LIMIT 3 即选取表中的前三行

LIMIT 6,3 表示在表中跳过前6个后再选取3个

三、连接

1. 内连接

JOIN···ON···

JOIN表示连接,后跟需要连接的表

ON表示用来连接的列,即连接两表的重合部分,例: ON a.stID= b.stID

2. 跨数据库连接

在JOIN或FROM子句中,在连接的表名前加上其所在数据库的名字

3. 自连接

FROM和JOIN用同一张表(两次引用表要有不同的简称),再用ON将两个有关系的列连接起来(并不一定要用同一列,可以选不同列来表示对应关系)

4. 多表连接

多个JOIN连用,将第一个连接后的表用JOIN···ON连接

5. 复合连接

连接包含含有两个主键列的表格时,在ON时用AND将两个主键列并列连接

6.外连接

用于返回所有项(包括null项),常用LEFT JOIN的形式

7. USING

用于替代JOIN后的ON,仅当连接的列名称相同时,列名要用()括起来(只能用于单独两个完整表的连接时使用)

8. 交叉连接

用于将每个项与每个项连接,CROSS JOIN

9. UNION

合并多个查询的结果,即合并多个行的内容,之间用UNION连接

union all和union的区别在于,union选出的值不允许重复,但union all的值可以重复

四、插入列

1.插入单行

INSERT INTO+被加入的表名

value()在括号中分别填入要插入的每列的内容,之间用逗号隔开

2. 插入多行

在VALUE后,每插入一行,分别用()表示,期间用逗号隔开

例如:VALUE(),(),()

3. 创建表复制

CREATE TABLE 新表名AS

SELECT 复制的列

FROM 被复制的表

之后在表格列表按刷新

4. 更新单行

UPDATE 更新的表名

SET 更改的列=更改的内容,(用逗号隔开)

WHERE 输入条件,选定更新的列。

5. 删除行

DELETE FROM 表的名称

WHERE 要删除行的条件,可用子查询

六、编写复杂查询

1.子查询

在WHERE子句中添加SELECT子句以实现更复杂的查询,成为子查询;(子查询要有别名,子查询内部不能连接其他表)

用于SELECT子句时,当子查询产生运算关系,要用SELECT再次选中别名再做一个子查询运算;

2. IN运算符

用来替代连续的OR,用于规定一个范围(也可用NOT IN选定不在这个范围的内容)

3. EXISTS 运算符

用于检验某项是否存在于某表。位于子查询前

七、数值函数

1. 基础数值函数

ROUND,四舍五入数字,可设置保留小数点后几位:ROUND(2.19,1)即保留一位数字,也可通过负值去保留更高位数;

CEILING:保留大于或等于此数的整数(直接入)

FLOOR:保留小于或等于此数的整数(直接舍)

ABS:绝对值

RAND:随机产生0-1之间的随机数

2. 字符串函数

LENGTH(“”):选中文本的字节数

UPPER(“”):选中文本大写

LOWER(“”):选中文本小写

TRIM(“”):删除所有空格

LEFT(“str, length”):从左数返回字符

RIGHT(“str, length”):从右数返回字符

SUBSTRING(“”,,):从任意位置返回字符

LOCATE(“”,“”):搜索第一个参数在第二个参数中的位置

REPLACE(“”,“”,“”):第一个参数选中字符串,第二个参数选中被替换的具体内容,第三个表示被替换的内容

CANCAT(“”,“”):将多个参数连接

3. 日期函数

NOW(),现在的日期和时间;

CURDATE()现在的日期;

CURTIME()现在的时间;

YEAR()\MONTH()\DAY()提取年、月、日;

HOUR()\MINUTE()\SECOND()提取时、分、秒;

DAYNAME()\MONTHNAME()提取周几、月名;

EXTRACT()用在最外层,方便转化成其他格式的文件。

4.日期和时间的格式化

DATE_FORMAT ( , “%y %m”)第一个参数是原本的时间和日期,第二个参数规定提取的格式;

TIME_FORMAT( , “”)同上。

5.计算日期和时间

DATE_ADD( ,INTERNAL ...)增加日期,第一个参数表示日期,第二个参数表示增加的数值;

DATE_SUB( , INTERNAL...)减少日期,同上;

DATEDIFF( “”,“”)得出两个参数天数的差;

TIME_TO_SEC(“”)计算从0点到参数的秒数,可进行运算。

6.IFNULL和COALESCE函数

IFNULL( ,“”)第一个参数选中一个主体,第二个参数表示当出现NULL时显示的内容;

COALESCE( ,comments,“”)第一第三个参数同上,第二个参数表示如果有注释就返回注释,没有就返回第三个参数。

7.IF函数

IF(判断条件,“”,“”)第一个函数作为判断条件,第二个为“是”时返回的值,第三个是“否”时的值。多用于SELECT子句。

8.CASE函数

一般放在select语句或聚合函数中;

可利用CASE函数进行多段判断;

  CASE              WHEN  ...  THEN...  “when”后跟的是判断条件,“then”后跟的是判断正确时返回的值,可进行多段判断;

ELSE... 表示如果都不满足,则返回该值;

最后要接一个END 表示结束语句(一般再加一个AS语句重命名)。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,686评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,668评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,160评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,736评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,847评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,043评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,129评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,872评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,318评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,645评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,777评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,861评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,589评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,687评论 2 351

推荐阅读更多精彩内容

  • 查询:select * from table_name where 条件 查询的结果集中使用别名:select 列...
    約見阅读 433评论 0 0
  • select distinct [字段名] from [表名];用于查询该列不重复的所有值。 where子句中可以...
    Ew0828阅读 282评论 0 0
  • 一、基础 1、说明:创建数据库CREATE DATABASE database-name 2、说明:删除数据库dr...
    稳住别慌阅读 152评论 0 1
  • 基础查询 /*语法:select 查询列表 from 表名特点:1.查询列表可以是:表中的字段、常量值、表达式、函...
    晓晓桑阅读 540评论 0 2
  • 数据库sql基础语句总结 1.select (查询)from(来自哪) where (条件 )like (像) n...
    Angiueng阅读 384评论 0 0