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_name FROM 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_name WHERE 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