日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

SQL语句汇总(二)——数据修改、数据查询

發(fā)布時(shí)間:2023/12/13 综合教程 33 生活家
生活随笔 收集整理的這篇文章主要介紹了 SQL语句汇总(二)——数据修改、数据查询 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

SQL語句第二篇,不說廢話直接開始吧。

首先創(chuàng)建一張表如下,創(chuàng)建表的方法在上篇介紹過了,這里就不再贅述。

添加新數(shù)據(jù):

INSERT INTO <表名> (<列名列表>) VALUES (<值列表>)

如:

INSERT INTO t_student (student_id,student_name,student_age,student_sex) VALUES (1,'大毛',18,'男');

其中列名可以省略,省略之后要求插入的值必須與列一一對(duì)應(yīng):

INSERT INTO t_student VALUES (2,'王二',20,'男');

多行數(shù)據(jù)添加:

INSERT INTO t_student VALUES (3,'張三',22,'男'),
                 (4,'李四',17,'女'),
                 (5,'王五',23,'男');

更改數(shù)據(jù):

UPDATE 表名 SET 列1=新值1,列2=新值2 WHERE 過濾條件

假如要修改李四的年齡為21歲

UPDATE t_student SET student_age=21 WHERE student_name='李四';

注:修改多個(gè)列的值時(shí)用逗號(hào)隔開。要想設(shè)置某一列的值為空,只需讓<列名>=NULL 即可。WHERE表示過濾條件。

刪除數(shù)據(jù)(行):

DELETE FROM 表名 WHERE 過濾條件

現(xiàn)要?jiǎng)h除20到22歲的學(xué)生信息:

DELETE FROM t_student WHERE student_age BETWEEN 20 AND 22;

WHERE的判斷條件之后會(huì)更詳細(xì)的介紹。

刪除除了DELETE還有一種方法TRUNCATE,寫法:

TRUNCATE TABLE 表名

二者區(qū)別在于:

DELETE會(huì)記錄日志,意味著刪除后的數(shù)據(jù)還可以恢復(fù),但是效率低。TRUNCATE不會(huì)記錄日志,刪除后的數(shù)據(jù)不能恢復(fù),但是效率高。需要注意的是,TRUNCATE不能用于有外鍵約束引用的表。

查詢操作

分類:

–投影操作
  指定查詢結(jié)果中能顯示哪些列
–選擇操作
  指定哪些行出現(xiàn)在結(jié)果中
–排序操作
  指定查詢的結(jié)果以什么樣的順序顯示

投影操作:

SELECT 列1,列2 FROM 表名

多個(gè)列中間用逗號(hào)隔開,如果選擇所有列可以用*號(hào)簡寫。

還是此表:

現(xiàn)在只想要查看姓名和年齡列:

SELECT student_name,student_age FROM t_student;

注意這里不是把其他列刪除了,而是只顯示我們想看見的部分。

SELECT CONCAT(student_name,'——',student_age) '組合值' FROM t_student;

CONCAT,可以將列與列之間用想要的符號(hào)連接起來:

排除重復(fù)——DISTINCT

現(xiàn)給原表加入一班級(jí)列:

按照之前方法查詢班級(jí)列得到:

但是我們只想查看具體有哪些班級(jí),這里就需要用到去重,也就是DISTINCT。

SELECT DISTINCT student_class FROM t_student;

返回限定行數(shù)的查詢——LIMIT

LIMIT后面參數(shù)為1或2個(gè):

LIMIT N 表示從第一行開始返回N行結(jié)果,LIMIT i,N 表示從第i+1行開始返回N行結(jié)果。

例:

SELECT * FROM t_student LIMIT 3;

SELECT * FROM t_student LIMIT 2,3;

*注:LIMIT很重要,它是之后做數(shù)據(jù)表格分頁的關(guān)鍵。

選擇操作——WHERE:

分為單條件選擇與多條件選擇

單條件選擇標(biāo)準(zhǔn)結(jié)構(gòu):

SELECT 列1, 列2 FROM 表名 WHERE 列3 = 值

關(guān)系運(yùn)算符包括:> >= < <= = !=

多條件選擇標(biāo)準(zhǔn)結(jié)構(gòu):

SELECT 列A, 列B FROM 表 WHERE 條件1 (AND或者OR) 條件2

其中AND表示并且,OR表示或者。

選擇范圍——BETWEEN

如:

SELECT * FROM t_student WHERE student_age BETWEEN 20 AND 23;

BETWEEN后的值為從下限到上限。

定義集合——IN或NOT IN

現(xiàn)在想查看年齡為17、20、23的學(xué)生信息:

SELECT * FROM t_student WHERE student_age IN (17,20,23);

反之NOT IN就是選擇不包括在集合里的學(xué)生信息。

模糊查詢——LIKE

為了更好的解釋模糊查詢,這里重新建張表:

這里姓王的兄弟們躺槍...別介意。

首先先說下占位符與通配符:

占位符 "_",表示任何單個(gè)字符。

通配符 "%",表示包含零或多個(gè)字符。

下面就來用模糊查詢逐一選中我們想要的行。

名字只有兩個(gè)字的:

SELECT * FROM t_student WHERE student_name LIKE '__';

這里可能看不清,引號(hào)里實(shí)際是兩個(gè)占位符。

所有姓王的:

SELECT * FROM t_student WHERE student_name LIKE '王%';

最后一個(gè)字是“王”的:

SELECT * FROM t_student WHERE student_name LIKE '%王';

只要是名字中有“王”字的:

SELECT * FROM t_student WHERE student_name LIKE '%王%';

這下模糊查詢就很明白了吧,當(dāng)然還有其他組合,大家可以自己嘗試。

處理空值數(shù)據(jù):

判斷條件不能用列名=NULL,而是要用IS NULL或IS NOT NULL。

標(biāo)準(zhǔn)寫法:

SELECT * FROM t_student WHERE 性別 IS NULL

排序操作——ORDER BY:

使用ORDER BY時(shí),列名上指定ASC或DESC。ASC表示正序,DESC表示倒序。如果不指定則默認(rèn)為正序。

按年齡排:

SELECT * FROM t_student ORDER BY student_age ASC;

SELECT * FROM t_student ORDER BY student_age DESC;

最后一定要注意!

基本查詢SQL的執(zhí)行順序:

1.執(zhí)行FROM 2.WHERE條件過濾 3.SELECT投影 4.ORDER BY排序

SQL的第二篇就到這里了,博主寫的快吐了!感覺學(xué)的時(shí)候沒這么多啊,希望各位認(rèn)同的朋友頂一下,也好讓我有動(dòng)力寫完。

總結(jié)

以上是生活随笔為你收集整理的SQL语句汇总(二)——数据修改、数据查询的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。