標籤:多個 關鍵字 name select eval width 大小 表名 預設
1. 建表
建立MySQL資料表需要以下資訊:
通用文法:
CREATE TABLE table_name (column_name column_type);
執行個體:
CREATE TABLE IF NOT EXISTS `runoob_tbl`( `runoob_id` INT UNSIGNED AUTO_INCREMENT, `runoob_title` VARCHAR(100) NOT NULL, `runoob_author` VARCHAR(40) NOT NULL, `submission_date` DATE, PRIMARY KEY ( `runoob_id` ))ENGINE=InnoDB DEFAULT CHARSET=utf8;
執行個體解析:
- 如果你不想欄位為 NULL 可以設定欄位的屬性為 NOT NULL, 在操作資料庫時如果輸入該欄位的資料為NULL ,就會報錯。
- AUTO_INCREMENT定義列為自增的屬性,一般用於主鍵,數值會自動加1。
- PRIMARY KEY關鍵字用於定義列為主鍵。 您可以使用多列來定義主鍵,列間以逗號分隔。
- ENGINE 設定儲存引擎,CHARSET 設定編碼。
刪表文法:
DROP TABLE table_name ;
2. 增刪改查
(1)插入資料:INSERT INTO
文法:
INSERT INTO table_name ( field1, field2,...fieldN ) VALUES ( value1, value2,...valueN );
執行個體:
INSERT INTO runoob_tbl (runoob_title, runoob_author, submission_date) VALUES ("學習 PHP", "菜鳥教程", NOW());
(2)查詢資料:SELECT
SELECT column_name,column_nameFROM table_name[WHERE Clause][OFFSET M ][LIMIT N]
解析:
- 查詢語句中你可以使用一個或者多個表,表之間使用逗號(,)分割,並使用WHERE語句來設定查詢條件。
- SELECT 命令可以讀取一條或者多條記錄。
- 你可以使用星號(*)來代替其他欄位,SELECT語句會返回表的所有欄位資料。
- 你可以使用 WHERE 語句來包含任何條件。
- 你可以通過OFFSET指定SELECT語句開始查詢的資料位移量。預設情況下位移量為0。
- 你可以使用 LIMIT 屬性來設定返回的記錄數。
(3)更新資料:UPDATE
文法:
UPDATE table_name SET field1=new-value1, field2=new-value2[WHERE Clause]
執行個體:
UPDATE runoob_tbl SET runoob_title=‘學習 C++‘ WHERE runoob_id=;
解析:更新 runoob_id 為3的 runoob_title 欄位的資料。
(4)刪除資料:DELETE
文法:
DELETE FROM table_name [WHERE Clause]
文法解析:
- 如果沒有指定 WHERE 子句,MySQL 表中的所有記錄將被刪除。
- 你可以在 WHERE 子句中指定任何條件
- 您可以在單個表中一次性刪除記錄。
執行個體:
DELETE FROM runoob_tbl WHERE runoob_id=3;
執行個體解析:刪除 runoob_tbl 表中 runoob_id 為3 的記錄。
3. 子句文法
(1)WHERE子句
文法:
SELECT field1, field2,...fieldN FROM table_name1, table_name2...[WHERE condition1 [AND [OR]] condition2.....
文法解析:以上為SELECT 語句使用 WHERE 子句從資料表中讀取資料的通用文法,其他類似。
- 查詢語句中你可以使用一個或者多個表,表之間使用逗號, 分割,並使用WHERE語句來設定查詢條件。
- 你可以在 WHERE 子句中指定任何條件。
- 你可以使用 AND 或者 OR 指定一個或多個條件。
- WHERE 子句也可以運用於 SQL 的 DELETE 或者 UPDATE 命令。
- WHERE 子句類似於程式語言中的 if 條件,根據 MySQL 表中的欄位值來讀取指定的資料。
- WHERE 子句的字串比較是不區分大小寫。 可以使用 BINARY 關鍵字來設定 WHERE 子句的字串比較是區分大小寫。 WHERE BINARY。
操作符列表:
| 操作符 |
描述 |
執行個體 |
| = |
等號,檢測兩個值是否相等,如果相等返回true |
(A = B) 返回false。 |
| <>, != |
不等於,檢測兩個值是否相等,如果不相等返回true |
(A != B) 返回 true。 |
| > |
大於符號,檢測左邊的值是否大於右邊的值, 如果左邊的值大於右邊的值返回true |
(A > B) 返回false。 |
| < |
小於符號,檢測左邊的值是否小於右邊的值, 如果左邊的值小於右邊的值返回true |
(A < B) 返回 true。 |
| >= |
大於等於符號,檢測左邊的值是否大於或等於右邊的值, 如果左邊的值大於或等於右邊的值返回true |
(A >= B) 返回false。 |
| <= |
小於等號,檢測左邊的值是否小于于或等於右邊的值, 如果左邊的值小於或等於右邊的值返回true |
(A <= B) 返回 true |
執行個體:
SELECT runoob_id, runoob_title, runoob_author, submission_date FROM runoob_tbl WHERE runoob_author="RUNOOB.COM"
執行個體解析:讀取 runoob_author 為 RUNOOB.COM 的資料
(2)LIKE子句
文法:
SELECT field1, field2,...fieldN FROM table_nameWHERE field1 LIKE condition1 [AND [OR]] filed2 = ‘somevalue‘
文法解析:
- 你可以在 WHERE 子句中指定任何條件。
- 你可以在 WHERE 子句中使用LIKE子句。
- LIKE 通常與 % 一同使用,類似於一個元字元的搜尋。
- 你可以使用LIKE子句代替等號 =。如果沒有使用百分比符號 %, LIKE 子句與等號 = 的效果是一樣的。
- 你可以使用 AND 或者 OR 指定一個或多個條件。
- 你可以在 DELETE 或 UPDATE 命令中使用 WHERE...LIKE 子句來指定條件
執行個體:
SELECT * from runoob_tbl WHERE runoob_author LIKE ‘%COM‘;
執行個體解析:從 runoob_tbl 表中擷取 runoob_author 欄位中以 COM 為結尾的的所有記錄
4. 其他文法
(1)UNION 合并
(2)ORDER BY 排序
(3)GROUP BY 分組
(4)JION 串連
(5)ALTER 修改表
轉自:菜鳥教程 http://www.runoob.com/mysql/mysql-tutorial.html
MySQL基礎文法命令