日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

1000行 MySQL 學(xué)習(xí)筆記,不怕你不會(huì),就怕你不學(xué)

 copy_left 2019-09-06

簡介: 1000行 MySQL 學(xué)習(xí)筆記,不怕你不會(huì),就怕你不學(xué)!

作者:格物

文章來源:微信公眾號(hào) 機(jī)器學(xué)習(xí)算法與Python學(xué)習(xí)

(因?yàn)閮?nèi)容較多,進(jìn)行了文章刪減,閱讀全文可以通過點(diǎn)擊底部的“了解更多”進(jìn)行瀏覽)

Windows服務(wù)

-- 啟動(dòng)MySQL net start mysql-- 創(chuàng)建Windows服務(wù) sc create mysql binPath= mysqld_bin_path(注意:等號(hào)與值之間有空格)

連接與斷開服務(wù)器

mysql -h 地址 -P 端口 -u 用戶名 -p 密碼SHOW PROCESSLIST -- 顯示哪些線程正在運(yùn)行SHOW VARIABLES -- 顯示系統(tǒng)變量信息

數(shù)據(jù)庫操作

-- 查看當(dāng)前數(shù)據(jù)庫 SELECT DATABASE();-- 顯示當(dāng)前時(shí)間、用戶名、數(shù)據(jù)庫版本 SELECT now(), user(), version();-- 創(chuàng)建庫 CREATE DATABASE[ IF NOT EXISTS] 數(shù)據(jù)庫名 數(shù)據(jù)庫選項(xiàng) 數(shù)據(jù)庫選項(xiàng): CHARACTER SET charset_name COLLATE collation_name-- 查看已有庫 SHOW DATABASES[ LIKE PATTERN ]-- 查看當(dāng)前庫信息 SHOW CREATE DATABASE 數(shù)據(jù)庫名-- 修改庫的選項(xiàng)信息 ALTER DATABASE 庫名 選項(xiàng)信息-- 刪除庫 DROP DATABASE[ IF EXISTS] 數(shù)據(jù)庫名 同時(shí)刪除該數(shù)據(jù)庫相關(guān)的目錄及其目錄內(nèi)容

表的操作

-- 創(chuàng)建表 CREATE [TEMPORARY] TABLE[ IF NOT EXISTS] [庫名.]表名 ( 表的結(jié)構(gòu)定義 )[ 表選項(xiàng)] 每個(gè)字段必須有數(shù)據(jù)類型 最后一個(gè)字段后不能有逗號(hào) TEMPORARY 臨時(shí)表,會(huì)話結(jié)束時(shí)表自動(dòng)消失 對于字段的定義: 字段名 數(shù)據(jù)類型 [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY] [COMMENT string ]-- 表選項(xiàng) -- 字符集 CHARSET = charset_name 如果表沒有設(shè)定,則使用數(shù)據(jù)庫字符集 -- 存儲(chǔ)引擎 ENGINE = engine_name 表在管理數(shù)據(jù)時(shí)采用的不同的數(shù)據(jù)結(jié)構(gòu),結(jié)構(gòu)不同會(huì)導(dǎo)致處理方式、提供的特性操作等不同 常見的引擎:InnoDB MyISAM Memory/Heap BDB Merge Example CSV MaxDB Archive 不同的引擎在保存表的結(jié)構(gòu)和數(shù)據(jù)時(shí)采用不同的方式 MyISAM表文件含義:.frm表定義,.MYD表數(shù)據(jù),.MYI表索引 InnoDB表文件含義:.frm表定義,表空間數(shù)據(jù)和日志文件 SHOW ENGINES -- 顯示存儲(chǔ)引擎的狀態(tài)信息 SHOW ENGINE 引擎名 {LOGS|STATUS} -- 顯示存儲(chǔ)引擎的日志或狀態(tài)信息 -- 自增起始數(shù) AUTO_INCREMENT = 行數(shù) -- 數(shù)據(jù)文件目錄 DATA DIRECTORY = 目錄  -- 索引文件目錄 INDEX DIRECTORY = 目錄  -- 表注釋 COMMENT = string  -- 分區(qū)選項(xiàng) PARTITION BY ... (詳細(xì)見手冊)-- 查看所有表 SHOW TABLES[ LIKE pattern ] SHOW TABLES FROM 表名-- 查看表機(jī)構(gòu) SHOW CREATE TABLE 表名 (信息更詳細(xì)) DESC 表名 / DESCRIBE 表名 / EXPLAIN 表名 / SHOW COLUMNS FROM 表名 [LIKE PATTERN ] SHOW TABLE STATUS [FROM db_name] [LIKE pattern ]-- 修改表 -- 修改表本身的選項(xiàng) ALTER TABLE 表名 表的選項(xiàng) eg: ALTER TABLE 表名 ENGINE=MYISAM; -- 對表進(jìn)行重命名 RENAME TABLE 原表名 TO 新表名 RENAME TABLE 原表名 TO 庫名.表名 (可將表移動(dòng)到另一個(gè)數(shù)據(jù)庫) -- RENAME可以交換兩個(gè)表名 -- 修改表的字段機(jī)構(gòu)(13.1.2. ALTER TABLE語法) ALTER TABLE 表名 操作名 -- 操作名 ADD[ COLUMN] 字段定義 -- 增加字段 AFTER 字段名 -- 表示增加在該字段名后面 FIRST -- 表示增加在第一個(gè) ADD PRIMARY KEY(字段名) -- 創(chuàng)建主鍵 ADD UNIQUE [索引名](字段名)-- 創(chuàng)建唯一索引 ADD INDEX [索引名](字段名) -- 創(chuàng)建普通索引 DROP[ COLUMN] 字段名 -- 刪除字段 MODIFY[ COLUMN] 字段名 字段屬性 -- 支持對字段屬性進(jìn)行修改,不能修改字段名(所有原有屬性也需寫上) CHANGE[ COLUMN] 原字段名 新字段名 字段屬性 -- 支持對字段名修改 DROP PRIMARY KEY -- 刪除主鍵(刪除主鍵前需刪除其AUTO_INCREMENT屬性) DROP INDEX 索引名 -- 刪除索引 DROP FOREIGN KEY 外鍵 -- 刪除外鍵-- 刪除表 DROP TABLE[ IF EXISTS] 表名 ...-- 清空表數(shù)據(jù) TRUNCATE [TABLE] 表名-- 復(fù)制表結(jié)構(gòu) CREATE TABLE 表名 LIKE 要復(fù)制的表名-- 復(fù)制表結(jié)構(gòu)和數(shù)據(jù) CREATE TABLE 表名 [AS] SELECT * FROM 要復(fù)制的表名-- 檢查表是否有錯(cuò)誤 CHECK TABLE tbl_name [, tbl_name] ... [option] ...-- 優(yōu)化表 OPTIMIZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ...-- 修復(fù)表 REPAIR [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ... [QUICK] [EXTENDED] [USE_FRM]-- 分析表 ANALYZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ...數(shù)據(jù)操作-- 增 INSERT [INTO] 表名 [(字段列表)] VALUES (值列表)[, (值列表), ...] -- 如果要插入的值列表包含所有字段并且順序一致,則可以省略字段列表。 -- 可同時(shí)插入多條數(shù)據(jù)記錄! REPLACE 與 INSERT 完全一樣,可互換。 INSERT [INTO] 表名 SET 字段名=值[, 字段名=值, ...]-- 查 SELECT 字段列表 FROM 表名[ 其他子句] -- 可來自多個(gè)表的多個(gè)字段 -- 其他子句可以不使用 -- 字段列表可以用*代替,表示所有字段-- 刪 DELETE FROM 表名[ 刪除條件子句] 沒有條件子句,則會(huì)刪除全部-- 改 UPDATE 表名 SET 字段名=新值[, 字段名=新值] [更新條件]字符集編碼-- MySQL、數(shù)據(jù)庫、表、字段均可設(shè)置編碼-- 數(shù)據(jù)編碼與客戶端編碼不需一致SHOW VARIABLES LIKE character_set_% -- 查看所有字符集編碼項(xiàng) character_set_client 客戶端向服務(wù)器發(fā)送數(shù)據(jù)時(shí)使用的編碼 character_set_results 服務(wù)器端將結(jié)果返回給客戶端所使用的編碼 character_set_connection 連接層編碼SET 變量名 = 變量值 SET character_set_client = gbk; SET character_set_results = gbk; SET character_set_connection = gbk;SET NAMES GBK; -- 相當(dāng)于完成以上三個(gè)設(shè)置-- 校對集 校對集用以排序 SHOW CHARACTER SET [LIKE pattern ]/SHOW CHARSET [LIKE pattern ] 查看所有字符集 SHOW COLLATION [LIKE pattern ] 查看所有校對集 CHARSET 字符集編碼 設(shè)置字符集編碼 COLLATE 校對集編碼 設(shè)置校對集編碼

數(shù)據(jù)類型(列類型)

1. 數(shù)值類型-- a. 整型 ---------- 類型 字節(jié) 范圍(有符號(hào)位) tinyint 1字節(jié) -128 ~ 127 無符號(hào)位:0 ~ 255 smallint 2字節(jié) -32768 ~ 32767 mediumint 3字節(jié) -8388608 ~ 8388607 int 4字節(jié) bigint 8字節(jié) int(M) M表示總位數(shù) - 默認(rèn)存在符號(hào)位,unsigned 屬性修改 - 顯示寬度,如果某個(gè)數(shù)不夠定義字段時(shí)設(shè)置的位數(shù),則前面以0補(bǔ)填,zerofill 屬性修改 例:int(5) 插入一個(gè)數(shù) 123 ,補(bǔ)填后為 00123 - 在滿足要求的情況下,越小越好。 - 1表示bool值真,0表示bool值假。MySQL沒有布爾類型,通過整型0和1表示。常用tinyint(1)表示布爾型。-- b. 浮點(diǎn)型 ---------- 類型 字節(jié) 范圍 float(單精度) 4字節(jié) double(雙精度) 8字節(jié) 浮點(diǎn)型既支持符號(hào)位 unsigned 屬性,也支持顯示寬度 zerofill 屬性。 不同于整型,前后均會(huì)補(bǔ)填0. 定義浮點(diǎn)型時(shí),需指定總位數(shù)和小數(shù)位數(shù)。 float(M, D) double(M, D) M表示總位數(shù),D表示小數(shù)位數(shù)。 M和D的大小會(huì)決定浮點(diǎn)數(shù)的范圍。不同于整型的固定范圍。 M既表示總位數(shù)(不包括小數(shù)點(diǎn)和正負(fù)號(hào)),也表示顯示寬度(所有顯示符號(hào)均包括)。 支持科學(xué)計(jì)數(shù)法表示。 浮點(diǎn)數(shù)表示近似值。-- c. 定點(diǎn)數(shù) ---------- decimal -- 可變長度 decimal(M, D) M也表示總位數(shù),D表示小數(shù)位數(shù)。 保存一個(gè)精確的數(shù)值,不會(huì)發(fā)生數(shù)據(jù)的改變,不同于浮點(diǎn)數(shù)的四舍五入。 將浮點(diǎn)數(shù)轉(zhuǎn)換為字符串來保存,每9位數(shù)字保存為4個(gè)字節(jié)。2. 字符串類型-- a. char, varchar ---------- char 定長字符串,速度快,但浪費(fèi)空間 varchar 變長字符串,速度慢,但節(jié)省空間 M表示能存儲(chǔ)的最大長度,此長度是字符數(shù),非字節(jié)數(shù)。 不同的編碼,所占用的空間不同。 char,最多255個(gè)字符,與編碼無關(guān)。 varchar,最多65535字符,與編碼有關(guān)。 一條有效記錄最大不能超過65535個(gè)字節(jié)。 utf8 最大為21844個(gè)字符,gbk 最大為32766個(gè)字符,latin1 最大為65532個(gè)字符 varchar 是變長的,需要利用存儲(chǔ)空間保存 varchar 的長度,如果數(shù)據(jù)小于255個(gè)字節(jié),則采用一個(gè)字節(jié)來保存長度,反之需要兩個(gè)字節(jié)來保存。 varchar 的最大有效長度由最大行大小和使用的字符集確定。 最大有效長度是65532字節(jié),因?yàn)樵趘archar存字符串時(shí),第一個(gè)字節(jié)是空的,不存在任何數(shù)據(jù),然后還需兩個(gè)字節(jié)來存放字符串的長度,所以有效長度是64432-1-2=65532字節(jié)。 例:若一個(gè)表定義為 CREATE TABLE tb(c1 int, c2 char(30), c3 varchar(N)) charset=utf8; 問N的最大值是多少? 答:(65535-1-2-4-30*3)/3-- b. blob, text ---------- blob 二進(jìn)制字符串(字節(jié)字符串) tinyblob, blob, mediumblob, longblob text 非二進(jìn)制字符串(字符字符串) tinytext, text, mediumtext, longtext text 在定義時(shí),不需要定義長度,也不會(huì)計(jì)算總長度。 text 類型在定義時(shí),不可給default值-- c. binary, varbinary ---------- 類似于char和varchar,用于保存二進(jìn)制字符串,也就是保存字節(jié)字符串而非字符字符串。 char, varchar, text 對應(yīng) binary, varbinary, blob.3. 日期時(shí)間類型 一般用整型保存時(shí)間戳,因?yàn)镻HP可以很方便的將時(shí)間戳進(jìn)行格式化。 datetime 8字節(jié) 日期及時(shí)間 1000-01-01 00:00:00 到 9999-12-31 23:59:59 date 3字節(jié) 日期 1000-01-01 到 9999-12-31 timestamp 4字節(jié) 時(shí)間戳 19700101000000 到 2038-01-19 03:14:07 time 3字節(jié) 時(shí)間 -838:59:59 到 838:59:59 year 1字節(jié) 年份 1901 - 2155datetime YYYY-MM-DD hh:mm:sstimestamp YY-MM-DD hh:mm:ss YYYYMMDDhhmmss YYMMDDhhmmss YYYYMMDDhhmmss YYMMDDhhmmssdate YYYY-MM-DD YY-MM-DD YYYYMMDD YYMMDD YYYYMMDD YYMMDDtime hh:mm:ss hhmmss hhmmssyear YYYY YY YYYY YY
  1. 枚舉和集合

-- 枚舉(enum) ----------enum(val1, val2, val3...) 在已知的值中進(jìn)行單選。最大數(shù)量為65535. 枚舉值在保存時(shí),以2個(gè)字節(jié)的整型(smallint)保存。每個(gè)枚舉值,按保存的位置順序,從1開始逐一遞增。 表現(xiàn)為字符串類型,存儲(chǔ)卻是整型。 NULL值的索引是NULL。 空字符串錯(cuò)誤值的索引值是0。-- 集合(set) ----------set(val1, val2, val3...) create table tab ( gender set( 男 , 女 , 無 ) ); insert into tab values ( 男, 女 ); 最多可以有64個(gè)不同的成員。以bigint存儲(chǔ),共8個(gè)字節(jié)。采取位運(yùn)算的形式。 當(dāng)創(chuàng)建表時(shí),SET成員值的尾部空格將自動(dòng)被刪除。

選擇類型

-- PHP角度1. 功能滿足2. 存儲(chǔ)空間盡量小,處理效率更高3. 考慮兼容問題-- IP存儲(chǔ) ----------1. 只需存儲(chǔ),可用字符串2. 如果需計(jì)算,查找等,可存儲(chǔ)為4個(gè)字節(jié)的無符號(hào)int,即unsigned 1) PHP函數(shù)轉(zhuǎn)換 ip2long可轉(zhuǎn)換為整型,但會(huì)出現(xiàn)攜帶符號(hào)問題。需格式化為無符號(hào)的整型。 利用sprintf函數(shù)格式化字符串 sprintf('%u', ip2long( 192.168.3.134 )); 然后用long2ip將整型轉(zhuǎn)回IP字符串 2) MySQL函數(shù)轉(zhuǎn)換(無符號(hào)整型,UNSIGNED) INET_ATON( 127.0.0.1 ) 將IP轉(zhuǎn)為整型 INET_NTOA(2130706433) 將整型轉(zhuǎn)為IP列屬性(列約束)1. PRIMARY 主鍵 - 能唯一標(biāo)識(shí)記錄的字段,可以作為主鍵。 - 一個(gè)表只能有一個(gè)主鍵。 - 主鍵具有唯一性。 - 聲明字段時(shí),用 primary key 標(biāo)識(shí)。 也可以在字段列表之后聲明 例:create table tab ( id int, stu varchar(10), primary key (id)); - 主鍵字段的值不能為null。 - 主鍵可以由多個(gè)字段共同組成。此時(shí)需要在字段列表后聲明的方法。 例:create table tab ( id int, stu varchar(10), age int, primary key (stu, age));2. UNIQUE 唯一索引(唯一約束) 使得某字段的值也不能重復(fù)。3. NULL 約束 null不是數(shù)據(jù)類型,是列的一個(gè)屬性。 表示當(dāng)前列是否可以為null,表示什么都沒有。 null, 允許為空。默認(rèn)。 not null, 不允許為空。 insert into tab values (null, val ); -- 此時(shí)表示將第一個(gè)字段的值設(shè)為null, 取決于該字段是否允許為null4. DEFAULT 默認(rèn)值屬性 當(dāng)前字段的默認(rèn)值。 insert into tab values (default, val ); -- 此時(shí)表示強(qiáng)制使用默認(rèn)值。 create table tab ( add_time timestamp default current_timestamp ); -- 表示將當(dāng)前時(shí)間的時(shí)間戳設(shè)為默認(rèn)值。 current_date, current_time5. AUTO_INCREMENT 自動(dòng)增長約束 自動(dòng)增長必須為索引(主鍵或unique) 只能存在一個(gè)字段為自動(dòng)增長。 默認(rèn)為1開始自動(dòng)增長。可以通過表屬性 auto_increment = x進(jìn)行設(shè)置,或 alter table tbl auto_increment = x;6. COMMENT 注釋 例:create table tab ( id int ) comment 注釋內(nèi)容 ;7. FOREIGN KEY 外鍵約束 用于限制主表與從表數(shù)據(jù)完整性。 alter table t1 add constraint `t1_t2_fk` foreign key (t1_id) references t2(id); -- 將表t1的t1_id外鍵關(guān)聯(lián)到表t2的id字段。 -- 每個(gè)外鍵都有一個(gè)名字,可以通過 constraint 指定 存在外鍵的表,稱之為從表(子表),外鍵指向的表,稱之為主表(父表)。 作用:保持?jǐn)?shù)據(jù)一致性,完整性,主要目的是控制存儲(chǔ)在外鍵表(從表)中的數(shù)據(jù)。 MySQL中,可以對InnoDB引擎使用外鍵約束: 語法: foreign key (外鍵字段) references 主表名 (關(guān)聯(lián)字段) [主表記錄刪除時(shí)的動(dòng)作] [主表記錄更新時(shí)的動(dòng)作] 此時(shí)需要檢測一個(gè)從表的外鍵需要約束為主表的已存在的值。外鍵在沒有關(guān)聯(lián)的情況下,可以設(shè)置為null.前提是該外鍵列,沒有not null。 可以不指定主表記錄更改或更新時(shí)的動(dòng)作,那么此時(shí)主表的操作被拒絕。 如果指定了 on update 或 on delete:在刪除或更新時(shí),有如下幾個(gè)操作可以選擇: 1. cascade,級聯(lián)操作。主表數(shù)據(jù)被更新(主鍵值更新),從表也被更新(外鍵值更新)。主表記錄被刪除,從表相關(guān)記錄也被刪除。 2. set null,設(shè)置為null。主表數(shù)據(jù)被更新(主鍵值更新),從表的外鍵被設(shè)置為null。主表記錄被刪除,從表相關(guān)記錄外鍵被設(shè)置成null。但注意,要求該外鍵列,沒有not null屬性約束。 3. restrict,拒絕父表刪除和更新。 注意,外鍵只被InnoDB存儲(chǔ)引擎所支持。其他引擎是不支持的。

建表規(guī)范

 -- Normal Format, NF - 每個(gè)表保存一個(gè)實(shí)體信息 - 每個(gè)具有一個(gè)ID字段作為主鍵 - ID主鍵 + 原子表 -- 1NF, 第一范式 字段不能再分,就滿足第一范式。 -- 2NF, 第二范式 滿足第一范式的前提下,不能出現(xiàn)部分依賴。 消除符合主鍵就可以避免部分依賴。增加單列關(guān)鍵字。 -- 3NF, 第三范式 滿足第二范式的前提下,不能出現(xiàn)傳遞依賴。 某個(gè)字段依賴于主鍵,而有其他字段依賴于該字段。這就是傳遞依賴。 將一個(gè)實(shí)體信息的數(shù)據(jù)放在一個(gè)表內(nèi)實(shí)現(xiàn)。

SELECT

SELECT [ALL|DISTINCT] select_expr FROM -> WHERE -> GROUP BY [合計(jì)函數(shù)] -> HAVING -> ORDER BY -> LIMIT

a. select_expr

-- 可以用 * 表示所有字段。

select * from tb;

-- 可以使用表達(dá)式(計(jì)算公式、函數(shù)調(diào)用、字段也是個(gè)表達(dá)式)

select stu, 29+25, now() from tb;

-- 可以為每個(gè)列使用別名。適用于簡化列標(biāo)識(shí),避免多個(gè)列標(biāo)識(shí)符重復(fù)。

- 使用 as 關(guān)鍵字,也可省略 as.

select stu+10 as add10 from tb;

b. FROM 子句

用于標(biāo)識(shí)查詢來源。

-- 可以為表起別名。使用as關(guān)鍵字。

SELECT * FROM tb1 AS tt, tb2 AS bb;

-- from子句后,可以同時(shí)出現(xiàn)多個(gè)表。

-- 多個(gè)表會(huì)橫向疊加到一起,而數(shù)據(jù)會(huì)形成一個(gè)笛卡爾積。

SELECT * FROM tb1, tb2;

-- 向優(yōu)化符提示如何選擇索引

USE INDEX、IGNORE INDEX、FORCE INDEX

SELECT * FROM table1 USE INDEX (key1,key2) WHERE key1=1 AND key2=2 AND key3=3;

SELECT * FROM table1 IGNORE INDEX (key3) WHERE key1=1 AND key2=2 AND key3=3;

c. WHERE 子句

-- 從from獲得的數(shù)據(jù)源中進(jìn)行篩選。

-- 整型1表示真,0表示假。

-- 表達(dá)式由運(yùn)算符和運(yùn)算數(shù)組成。

-- 運(yùn)算數(shù):變量(字段)、值、函數(shù)返回值

-- 運(yùn)算符:

=, <=>, <>, !=, <=, <, >=, >, !, &&, ||,

in (not) null, (not) like, (not) in, (not) between and, is (not), and, or, not, xor

is/is not 加上ture/false/unknown,檢驗(yàn)?zāi)硞€(gè)值的真假

<=>與<>功能相同,<=>可用于null比較

d. GROUP BY 子句, 分組子句

GROUP BY 字段/別名 [排序方式]

分組后會(huì)進(jìn)行排序。升序:ASC,降序:DESC

以下[合計(jì)函數(shù)]需配合 GROUP BY 使用:

count 返回不同的非NULL值數(shù)目 count(*)、count(字段)

sum 求和

max 求最大值

min 求最小值

avg 求平均值

group_concat 返回帶有來自一個(gè)組的連接的非NULL值的字符串結(jié)果。組內(nèi)字符串連接。

e. HAVING 子句,條件子句

與 where 功能、用法相同,執(zhí)行時(shí)機(jī)不同。

where 在開始時(shí)執(zhí)行檢測數(shù)據(jù),對原數(shù)據(jù)進(jìn)行過濾。

having 對篩選出的結(jié)果再次進(jìn)行過濾。

having 字段必須是查詢出來的,where 字段必須是數(shù)據(jù)表存在的。

where 不可以使用字段的別名,having 可以。因?yàn)閳?zhí)行WHERE代碼時(shí),可能尚未確定列值。

where 不可以使用合計(jì)函數(shù)。一般需用合計(jì)函數(shù)才會(huì)用 having

SQL標(biāo)準(zhǔn)要求HAVING必須引用GROUP BY子句中的列或用于合計(jì)函數(shù)中的列。

f. ORDER BY 子句,排序子句

order by 排序字段/別名 排序方式 [,排序字段/別名 排序方式]...

升序:ASC,降序:DESC

支持多個(gè)字段的排序。

g. LIMIT 子句,限制結(jié)果數(shù)量子句

僅對處理好的結(jié)果進(jìn)行數(shù)量限制。將處理好的結(jié)果的看作是一個(gè)集合,按照記錄出現(xiàn)的順序,索引從0開始。

limit 起始位置, 獲取條數(shù)

省略第一個(gè)參數(shù),表示從索引0開始。limit 獲取條數(shù)

h. DISTINCT, ALL 選項(xiàng)

distinct 去除重復(fù)記錄

默認(rèn)為 all, 全部記錄

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多