1. 程式人生 > 其它 >【自用】MySQL資料庫基本操作

【自用】MySQL資料庫基本操作

docker 中下載 mysql

docker pull mysql

啟動

docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql

登入mysql

mysql -u root -p //回車輸入密碼
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

新增遠端登入使用者,直接用root賬號登入也行。

CREATE USER 'test'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
GRANT ALL PRIVILEGES ON .

TO 'test'@'%';

檢視已有表的所有欄位的註釋呢?

可以用命令:show full columns from table_name 來檢視,
show full columns from table

數值型別

型別 大小 範圍(有符號) 範圍(無符號) 用途
TINYINT 1 byte (-128,127) (0,255) 小整數值
SMALLINT 2 bytes (-32 768,32 767) (0,65 535) 大整數值
MEDIUMINT 3 bytes (-8 388 608,8 388 607) (0,16 777 215) 大整數值
INT或INTEGER 4 bytes (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整數值
BIGINT 8 bytes (-9,223,372,036,854,775,808,9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 極大整數值
FLOAT 4 bytes (-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38) 0,(1.175 494 351 E-38,3.402 823 466 E+38) 單精度
浮點數值
DOUBLE 8 bytes (-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 雙精度
浮點數值
DECIMAL 對DECIMAL(M,D) ,如果M>D,為M+2否則為D+2 依賴於M和D的值 依賴於M和D的值 小數值

日期和時間型別

型別 大小( bytes) 範圍 格式 用途
DATE 3 1000-01-01/9999-12-31 YYYY-MM-DD 日期值
TIME 3 '-838:59:59'/'838:59:59' HH:MM:SS 時間值或持續時間
YEAR 1 1901/2155 YYYY 年份值
DATETIME 8 1000-01-01 00:00:00/9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS 混合日期和時間值
TIMESTAMP 4 1970-01-01 00:00:00/2038 結束時間是第2147483647秒,北京時間2038-1-19 11:14:07,格林尼治時間2038年1月19日 凌晨 03:14:07YYYYMMDD HHMMSS 混合日期和時間值,時間戳

操作 命令

建立資料庫 CREATE DATABASE 資料庫名;

指定要操作的資料庫 USE 資料庫名;

建立資料表 CREATE TABLE 資料表名;
命令:CREATE TABLE 資料表名
  (
    欄位名1 資料型別[完整性約束條件],
    欄位名2 資料型別[完整性約束條件],
    …
    欄位名2 資料型別[完整性約束條件]
  );

舉例:CREATE TABLE grade
   (
    id   INT(11),
    name   VARCHAR(20),
    grade   FLOAT
          );
為了驗證資料表是否建立成功,需要使用SHOW TABLES語句進行檢視:SHOW TABLES

檢視資料表 SHOW CREATE TABLE 資料表名;
使用DESCRIBE語句檢視資料表 DESCRIBE 資料表名;
為資料表重新命名 ALTER TABLE 資料表名 RENAME 新表名;
修改欄位名 ALTER TABLE 資料表名 CHANGE 舊欄位名 新欄位名 新資料型別;
修改欄位資料型別 ALTER TABLE 資料表名 MODIFY 欄位名 資料型別;
新增欄位 ALTER TABLE 資料表名 ADD 欄位名 資料型別;
刪除欄位 ALTER TABLE 表名 DROP 欄位名;
修改欄位的排列位置 ALTER TABLE 資料表名 MODIFY 欄位名1 資料型別 FIRST | AFTER 欄位名2
刪除資料表 DROP TABLE 資料表名;

1、建立資料庫

命令:CREATE DATABASE 資料庫名;

舉例:CREATE DATABASE student;

2、指定要操作的資料庫

命令:USE 資料庫名;

舉例:USE student;

3、建立資料表(前提是已經指定了需要操作的資料庫,命令參考上一條)

命令:CREATE TABLE 資料表名

  (

    欄位名1 資料型別[完整性約束條件],

    欄位名2 資料型別[完整性約束條件],

    …

    欄位名2 資料型別[完整性約束條件]

  );

舉例:CREATE TABLE grade

   (

    id primary key NOT NULL AUTO_INCREMENT,

    name VARCHAR(20),

    grade FLOAT

      );

為了驗證資料表是否建立成功,需要使用SHOW TABLES語句進行檢視:SHOW TABLES

結果如下(我使用的是phpMyAdmin):

4、檢視資料表

命令:SHOW CREATE TABLE 資料表名;

舉例:SHOW CREATE TABLE grade

5、使用DESCRIBE語句檢視資料表

命令:DESCRIBE 資料表名;或者DESC 資料表名;

舉例:DESC grade;

執行結果如下:

6、為資料表重新命名

命令:ALTER TABLE 資料表名 RENAME [TO] 新表名;

注意:命令中出現的[ ]中的內容表示選擇性條件,不是必需;

舉例:ALTER TABLE grade RENAME newgrade;

7、修改欄位名

命令:ALTER TABLE 資料表名 CHANGE 舊欄位名 新欄位名 新資料型別

注意:新資料型別不能為空,即使不改變資料型別也要寫上原來的資料型別

舉例:ALTER TABLE grade CHANGE name newname varchar(20);(把grade表中的name欄位改為newname,資料型別不變)

8、修改欄位資料型別

命令:ALTER TABLE 資料表名 MODIFY 欄位名 資料型別;

舉例:ALTER TABLE grade MODIFY id INT(20);(將欄位名id的資料型別改為INT(20))

9、新增欄位

命令:ALTER TABLE 資料表名 ADD 新欄位名 資料型別 [約束條件] [FIRST | AFTER 已存在的欄位名];

注意:“|”表示或者,其兩邊的引數是可供挑選的,此處的FIRST表示將欄位設定為表的第一個欄位,AFTER 表示將新欄位插入到指定的“已存在的欄位名”的後面

舉例:ALTER TABLE grade ADD age INT(10);

10、刪除欄位

命令:ALTER TABLE 表名 DROP 欄位名;

舉例:ALTER TABLE grade DROP grade;

11、修改欄位排列位置

命令:ALTER TABLE 表名 MODIFY 欄位名1 資料型別 FIRST | AFTER 欄位名2

舉例1:ALTER TABLE grade MODIFY newname VARCHAR(20) FIRST;(將欄位newname插入到表的第一個位置)

舉例2:ALTER TABLE grade MODIFY id INT(11) AFTER grade;(將欄位id插入到欄位grade的後面)

12、刪除資料表

命令:DROP TABLE 資料表名;

舉例:DROP TABLE grade;

【增刪改查】

1、“增”——新增資料

1.1 為表中所有欄位新增資料

1.1.1 INSERT 語句中指定所有欄位名

語法:INSERT INTO 表名(欄位名1,欄位名2,…)

       VALUES(值1,值2,…);

舉例:INSERT INTO student(id,name,grade)

   VALUES(1,'zhangshan',98);

使用SELECT * FROM student;

表示資料已經成功插入。

1.1.2 INSERT語句中不指定欄位名

若不指定欄位名,則新增的值的順序應和欄位在表中的順序完全一致。

語法:INSERT INTO 表名 VALUES(值11,值2,…);

舉例:INSERT INTO student

   VALUES (2,'lisi',62);

使用SELECT * FROM student;

1.2 為表的指定欄位新增資料

為指定欄位新增資料,即只向部分欄位新增值,而其他欄位的值為表定義時的預設值。

語法:INSERT INTO 表名(欄位1,欄位2,…)

   VALUES(值1,值2,…)

舉例:INSERT INTO student(id,name)

   VALUES(3,'wangwu');

使用SELECT * FROM student;
從結果中可以看出,新記錄的grade欄位值為NULL,是因為新增時為指明grade的值,系統會自動新增預設值。

1.3 INSERT語句的其他寫法

語法:INSERT INTO 表名

   SET 欄位名1=值1[,欄位名2=值2,…]

舉例:INSERT INTO student

   SET id=4,name='zhaoliu',grade=72;

使用SELECT * FROM student;

1.4 同時新增多條資料

語法:INSERT INTO 表名[(欄位名1,欄位名2,…)]

   VALUES (值1,值2,…),(值1,值2,…),

   …

   (值1,值2,…)

舉例:INSERT INTO student VALUES

    (5,‘lilei’,99),

    (6,'hanmeimei',87),

    (8,'poly',76);

使用SELECT * FROM student;

2、“刪”——刪除資料

語法:DELETE FROM 表名 [WHERE 條件表示式

2.1 刪除部分資料

即刪除指定的部分資料,需要使用WHERE子句來指定刪除記錄的條件。

舉例:刪除student表中的id值為7的記錄

命令:DELETE FROM student

   WHERE id=7;

使用SELECT * FROM student;

可見id為7的記錄已被成功刪除。

2.2 刪除全部資料

若 DELETE 語句中沒有使用WHERE語句,則會將表中所有記錄都刪除。

語法:DELETE FROM 表名

舉例:刪除student表中的所有記錄

命令:DELETE FROM student;

使用SELECT * FROM student;命令檢視結果為:

可見student表中記錄為空,說明表中所有資料已被成功刪除。

2.2 刪除全部資料的另一種方法——TRUNCATE

語法:TRUNCTE [TABLE ] 表名

舉例:TRUNCATE TABLE student;即可刪除student表

注意:

(1)DELETE 後面可以跟WHERE子句指定刪除部分記錄,TRUNCATE只能刪除整個表的所有記錄

(2)使用TRUNCATE語句刪除記錄後,新新增的記錄時,自動增長欄位(如本文中student表中的 id 欄位)會預設從1開始,而使用DELETE刪除記錄後,新新增記錄時,自動增長欄位會從刪除時該欄位的的最大值加1開始計算(即原來的id最大為5,則會從6開始計算)。所以如果是想徹底刪除一個表的記錄而且不會影響到重新新增記錄,最好使用TRUNCATE來刪除整個表的記錄。

3、“改”——更新資料

更新資料指對錶中現存的資料進行修改。

語法:UPDATE 表名

      SET 欄位名1=值1,[ ,欄位名2=值2,…]

      [ WHERE 條件表示式 ]

在執行後面的語句之前,先使用INSERT語句往student表中插入以下資料:

3.1 UPDATE 更新部分資料

指更新指定表中的指定記錄,使用WHERE 子句來指定。

舉例:將student表中id值為1=記錄,將其name欄位的值改為‘caocao’,grade欄位的值改為50。

先查詢之前的記錄:SELECT * FROM student WHERE id=1;

顯示為:

命令:UPDATE student

    SET name=‘caocao’,grade=50

    WHERE id=1;

使用SELECT * FROM student;命令檢視結果為:

可見表中資料已被成功更新。

注意:還可以使用其他WHERE條件表示式,如:id > 4;

3.2 UPDATE 更新全部資料

在UPDATE 語句中若不使用WHERE 子句,則會將表中所有記錄的指定欄位都進行更新。

舉例:更新student表中全部記錄,將grade欄位都更新為80

命令:UPDATE student

    SET grade=80;

使用SELECT * FROM student;命令檢視結果為:

可以看出所有資料已被成功更新。

4、“查”——之單表查詢

MySQL從資料表中查詢資料最基本的語句是SELECT語句,在前面的“增刪查”已經使用過:SELECT * FROM 表名,也就是查詢指定資料表中的所有資料。下面將對SELECT語句進行詳細介紹。

在進行後面的操作之前我們先建立一個新的資料表student2,如下:

  CREATE TABLE student2
  (
    id INT(3) PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(20) NOT NULL,
    grade FLOAT,gender CHAR(2)
  );
此處的PRIMARY KEY表示將該欄位設為主鍵,AUTO_INCREMENT表示將該欄位設為開始值是 1,每條新記錄自動遞增 1,,所以在插入資料時不需為該欄位設值;NOT NULL表示將該欄位限制為非空值(此處不作詳細講解)
再向student2表中插入如下資料:
        INSERT INTO student2(name,grade,gender)

        VALUES ('songjiang',40,'男'),('wuyong',100,'男'),('qinming',90,'男'),('husanniang',88,'女'),('sunerniang',66,'女'),('wusong',86,'男'),('linchong',92,'男'),('yanqing',90,NULL);

注意:若因為此處插入的資料包含了中文而導致無法插入,可將“男/女”改為“man/woman”,或者將欄位編碼改為utf-8(方法自行百度,此處不做講解)。

4.1 簡單查詢

4.1.1 查詢所有欄位

語法:SELECT 欄位名1,欄位名2,…

   FROM 表名

舉例:查詢student2表中的所有記錄

命令:SELECT id,name,grade ,gender

   FROM student2;

注意:欄位順序可以更改,如:

    SELECT id,grade,gender ,name

      FROM student2;

則顯示的結果也會作出對應的調整:

4.1.2 在SELECT語句中使用(‘ * ’)萬用字元代替所有欄位

語法:SELECT * FROM 表名;

在此前已多次使用此命令,所以此處不作贅述。

4.1.3 查詢指定的部分欄位

語法:SELECT 欄位名1,欄位名2,… FROM 表名;

舉例:查詢student2表中的name欄位和gender欄位

命令:SELECT name,gender FROM student2;

從結果中可以看到只顯示了name和gender兩個欄位。

4.2 按條件查詢

4.2.1 帶關係運算符的查詢

語法:SELECT 欄位名1,欄位名2,…

   FROM 表名

   WHERE 條件表示式

在WHERE子句中可以使用如下關係運算符:

關係運算符 說 明
    =     等於
    <>     不等於
    !=     不等於
    <     小於
    <=     小於等於
    >     大於
    >=     大於等於
舉例:查詢student2表中id為4的人的id和name欄位

命令:SELECT id,name FROM student2 WHERE id=4;

舉例:查詢student2表中grade大於80的人的name和grade欄位

命令:SELECT name FROM student2 WHERE grade>80;

4.2.2 帶 IN 關鍵字的查詢

IN關鍵字用於判斷某個欄位的值是否在指定集合中,若在,則該欄位所在的記錄將會被查詢出來.

語法:SELECT * | 欄位名1,欄位名2,…

   FROM 表名

   WHERE 欄位名 [ NOT ] IN (元素1,元素2,…)

舉例:查詢student2表中id值為1,2,3的記錄

命令:SELECT * FROM student2 WHERE id IN (1,2,3);

注意:NOT IN 與 IN 相反,查詢的是不在指定範圍內的記錄。

4.2.3 帶 BETWEEN AND 關鍵字的查詢

BETWEEN AND 用於判斷某個欄位的值是否在指定範圍之內,若在,則該欄位所在的記錄會被查詢出來,反之不會。

語法:SELECT * | { 欄位名1,欄位名2,… }

   FROM 表名

   WHERE 欄位名 [ NOT ] BETWEEN 值1 AND 值2;

舉例:查詢student2表中id值在2~5之間的人的id和name

命令:SELECT id,name FROM students WHERE id BETWEEN 2 AND 5;

注意:NOT BETWEEN AND 表示查詢指定範圍外的記錄。

4.2.4 空值查詢

在資料表中有些值可能為空值(NULL),空值不同於0,也不同於空字串,需要使用 IS NULL 來判斷欄位的值是否為空值。

語法:SELECT * | 欄位名1,欄位名2,…

   FROM 表名

   WHERE 欄位名 IS [ NOT ] NULL

舉例:查詢student2表中gender值為空值的記錄。

命令:SELECT * FROM student2 WHERE gender IS NULL;

注意:IS NOT NULL 關鍵字用來查詢欄位不為空值的記錄。

4.2.5 帶 DISTINCT 關鍵字的查詢

很多表中某些欄位的資料存在重複的值,可以使用DISTINCT關鍵字來過濾重複的值,只保留一個值。

語法:SELECT DISTINCT 欄位名 FROM 表名;

舉例:查詢student2表中gender欄位的值,結果中不允許出行重複的值。

命令:SELECT DISTINCT gender FROM student2;

注意:DISTINCT 關鍵字還可作用於多個欄位,則只有多個欄位的值都完全相同時才會被認作是重複記錄。

4.2.6 帶 LIKE 關鍵字的查詢

語法:SELECT * | 欄位名1,欄位名2,…

   FROM 表名

   WHERE 欄位名 [ NOT ] LIKE ‘匹配字串’;

(1)百分號(%)萬用字元

匹配任意長度的字串,包括空字串。例如,字串“ c% ”匹配以字元 c 開始,任意長度的字串,如“ ct ”,“ cut ”,“ current ”等;字串“ c%g ”表示以字元 c 開始,以 g 結尾的字串;字串“ %y% ”表示包含字元“ y ”的字串,無論“ y ”在字串的什麼位置。

舉例1:查詢student2表中name欄位以字元“ s ”開頭的人的id,name

命令:SELECT id,name FROM student2 WHERE name LIKE "S%";

舉例2:查詢student2表中name欄位以字元“ w ”開始,以字元“ g ”結尾的人的id,name。

命令:SELECT id,name FROM student2 WHERE name LIKE 'w%g';

舉例3:查詢student2表中name欄位不包含“ y ”的人的id,name。

命令:SELECT id,name FROM student2 WHERE name NOT LIKE '%y%';

(2)下劃線(_)萬用字元

下劃線萬用字元只匹配單個字元,若要匹配多個字元,需要使用多個下劃線萬用字元。例如,字串“ cu_ ”匹配以字串“ cu ”開始,長度為3的字元,如“ cut ”,“ cup ”;字串“ c__l”匹配在“ c ”和“ l ”之間包含兩個字元的字串,如“ cool ”。需要注意的是,連續的“”之間不能有空格,例如“M _QL”只能匹配“My SQL”,不能匹配“MySQL”。

舉例:查詢在student2表中name欄位值以“ wu ”開始,以“ ong ”結束,並且中間只有一個字元的記錄。

命令:SELECT * FROM student2 WHERE name LIKE 'wu_ong';

注意:若要查詢的欄位值本來就含有“ % ”或者“ _ ”,則要用“ \ ”進行轉義,如要查詢本身含有“ % ”的字串,命令應改為 “ %%%”。

4.2.7 帶 AND 關鍵字的多條件查詢

在使用SELECT語句查詢資料時,優勢為了使查詢結果更加精確,可以使用多個查詢條件,如使用 AND 關鍵字可以連線兩個或多個查詢條件。

語法:SELECT * | 欄位名1,欄位名2,…

   FROM 表名

   WHERE 條件表示式1 AND 條件表示式2 [ … AND 條件表示式 n ];

舉例:查詢student2表中 id 欄位小於5,並且 gender 欄位值為“ 女 ”的人的id和name

命令:SELECT id,name FROM student2 WHERE id<5 AND gender='女';

4.2.8 帶 OR 關鍵字的多條件查詢

與 AND 關鍵字不同,OR 關鍵字只要滿足任意一個條件就會被查詢出來

語法:SELECT * | 欄位名1,欄位名2,…

   FROM 表名

   WHERE 條件表示式1 OR 條件表示式2 [ … OR 條件表示式 n ];

舉例:查詢student2表中 id 欄位小於3,或者 gender 欄位值為“ 女 ”的人的id,name和gender

命令:SELECT id,name ,gender FROM student2 WHERE id<3 OR gender='女';

4.2.9 OR 和 AND 一起使用的情況

OR 和 AND 一起使用的時候,AND 的優先順序高於 OR,因此二者一起使用時,會先運算 AND 兩邊的表示式,再運算 OR 兩邊的表示式。

舉例:查詢student2表中gender值為“女”或者gender值為“男”並且grade欄位值為100的人的記錄

命令:SELECT * FROM student2 WHERE gender='女' OR gender='男' AND grade=100;

4.3 高階查詢

4.3.1 聚合函式

函式名稱 作用
    COUNT()     返回某列的行數
    SUM()     返回某列值的和
    AVG()     返回某列的平均值
    MAX()     返回某列的最大值
    MIN()     返回某列的最小值

(1)COUNT()函式:統計記錄的條數

語法:SELECT COUNT(*) FROM 表名

舉例:查詢student2表中一共有多少條記錄

命令:SELECT COUNT(*) FROM student2;

(2)SUM()函式:求出表中某個欄位所有值的總和

語法:SELECT SUM(欄位名) FROM 表名;

舉例:求出student2表中grade欄位的總和

命令:SELECT SUM(grade) FROM student2;

(3)AVG()函式:求出表中某個欄位所有值的平均值

語法:SELECT AVG(欄位名) FROM 表名;

舉例:求出student2表中grade欄位的平均值

命令:SELECT AVG(grade) FROM student2;

結果:

(4)MAX()函式:求出表中某個欄位所有值的最大值

語法:SELECT MAX(欄位名) FROM 表名;

舉例:求出student2表中所有人grade欄位的最大值

命令:SELECT MAX(grade) FROM student2;

結果:

(5)MIN()函式:求出表中某個欄位所有值的最小值

語法:SELECT MIN(欄位名) FROM 表名;

舉例:求出student2表中所有人grade欄位的最小值

命令:SELECT MIN(grade) FROM student2;

結果:

4.3.2 對查詢結果進行排序

語法:SELECT 欄位名1,欄位名2,…

   FROM 表名

   ORDER BY 欄位名1 [ ASC | DESC ],欄位名2 [ ASC | DESC ]…

在該語法中指定的欄位名是對查詢結果進行排序的依據,ASC表示升序排列,DESC 表示降序排列,預設情況是升序排列。

舉例1:查出student2表中的所有記錄,並按照grade欄位進行升序排序

命令:SELECT * FROM student2

   ORDER BY grade;

舉例2:查出student2表中的所有記錄,並按照grade欄位進行降序排序

命令:SELECT * FROM student2

   ORDER BY grade DESC;

4.3.3 分組查詢

在對錶中資料進行統計的時候,可以使用GROUP BY 按某個欄位或者多個欄位進行分組,欄位中值相同的為一組,如男生分為一組,女生分為一組。

語法:SELECT 欄位名1,欄位名2,…

   FROM 表名

   GROUP BY 欄位名1,欄位名2,… [ HAVING 條件表示式 ];

(1)單獨使用 GROUP BY 進行分組

單獨使用GROUP BY 關鍵字,查詢的是每個分組中的一條記錄

舉例:查詢student2表中的資料,按照gender欄位進行分組。

命令:SELECT * FROM student2 GROUP BY gender;

注意:若在此2例中鍵入命令之後出現“#1055”錯誤,無法完成分組查詢,是由於MySQL版本升級到了5.7,可自行百度“MySQL 1055錯誤”參考解決辦法。

(2) GROUP BY 和聚合函式一起使用

GROUP BY 和聚合函式一起使用,可以統計出某個或者某些欄位在一個分組中的最大值、最小值、平均值等。

舉例:將student2表按照gender欄位進行分組查詢,計算出每組共有多少個人。

命令:SELECT COUNT(*) ,gender FROM student2 GROUP BY gender;

(3) GROUP BY 和 HAVING 關鍵字一起使用

HAVING關鍵字和WHERE關鍵字的作用相同,區別在於HAVING 關鍵字可以跟聚合函式,而WHERE 關鍵字不能。通常HAVING 關鍵字都和GROUP BY一起使用,用於對分組後的結果進行過濾。

舉例:將student2表按照gender欄位進行分組查詢,查詢出grade欄位值之和小於300的分組

命令:SELECT sum(grade),gender FROM student2 GROUP BY gender HAVING SUM(grade) < 300;

4.3.4 使用 LIMIT 限制查詢結果的數量

語法:SELECT 欄位名2,欄位名2,…

   FROM 表名

   LIMIT [ OFFSET ,] 記錄數

在此語法中,LIMIT 後面可以跟兩個引數,第一個引數“ OFFSET ”表示偏移量,如果偏移量為0,則從查詢結果的第一條記錄開始,偏移量為1則從查詢結果中的第二條記錄開始,以此類推。OFFSET為可選值,預設值為0,第二個引數“記錄數”表示指定返回查詢記錄的條數。

舉例1:查詢student2表中的前四條記錄。

命令:SELECT * FROM student LIMIT 4;

舉例2:查詢student2表中grade欄位從第五位到第八位的人(從高到低)

命令:SELECT * FROM student2 ORDER BY grade DESC LIMIT 4,4;

4.3.5 函式(列表)

見MySQL之常用函式

4.4 為表和欄位取別名

4.4.1 為表取別名

在進行查詢操作時,如果表名很長使用起來不方便,可以為表取一個別名來代替表的名稱。

語法:SELECT * FROM 表名 [ AS ] 別名;

舉例:為student2表起一個別名s,並查詢student2表中gender欄位值為“女”的記錄

命令:SELECT * FROM student2 AS s WHERE s.gender='女';

4.4.1 為欄位取別名

語法:SELECT 欄位名 [ AS ] 別名 [ ,欄位名 [AS] 別名,…] FROM 表名 ;

舉例:查詢student2表中的所有記錄的name和gender欄位值,並未這兩個欄位起別名stu_name和stu_gender

命令:SELECT name AS stu_name,gender AS stu_gender FROM student2;

GGSDDU