資料庫常用命令(部分)
1、建立資料庫
CREATE DATABASE 資料庫名;
2、刪除資料庫
drop database 資料庫名;
3、從命令提示視窗中選擇MySQL資料庫
use 資料庫名;
4、MySQL 建立資料表
CREATE TABLE table_name(表名) (column_name column_type);
eg: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;
5、刪除資料表
DROP TABLE table_name ;
eg: mysql> use RUNOOB;
Database changed
mysql> DROP TABLE runoob_tbl(表明)
Query OK, 0 rows affected (0.8 sec)
6、插入資料
INSERT INTO table_name(表名)
( field1, field2,...fieldN )
VALUES
( value1, value2,...valueN );
如果資料是字元型,必須使用單引號或者雙引號,如:"value"。
eg: mysql> INSERT INTO runoob_tbl (表名)
-> (runoob_title, runoob_author, submission_date)
-> VALUES
-> ("學習 PHP", "菜鳥教程", NOW());
7、查詢資料
SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[LIMIT N][ OFFSET M]
查詢語句中你可以使用一個或者多個表,表之間使用逗號(,)分割,並使用WHERE語句來設定查詢條件。
SELECT 命令可以讀取一條或者多條記錄。
你可以使用星號(*)來代替其他欄位,SELECT語句會返回表的所有欄位資料
你可以使用 WHERE 語句來包含任何條件。
你可以使用 LIMIT 屬性來設定返回的記錄數。
你可以通過OFFSET指定SELECT語句開始查詢的資料偏移量。預設情況下偏移量為0。
select * from runoob_tbl;
8、MySQL WHERE 子句
SELECT field1, field2,...fieldN FROM table_name1(表名1), table_name2(表名2)...
[WHERE condition1(限定條件1) [AND [OR]] condition2(限定條件2).....
查詢語句中你可以使用一個或者多個表,表之間使用逗號, 分割,並使用WHERE語句來設定查詢條件。
你可以在 WHERE 子句中指定任何條件。
你可以使用 AND 或者 OR 指定一個或多個條件。
WHERE 子句也可以運用於 SQL 的 DELETE 或者 UPDATE 命令。
WHERE 子句類似於程式語言中的 if 條件,根據 MySQL 表中的欄位值來讀取指定的資料。
eg:
SELECT * from runoob_tbl(表名) WHERE runoob_author='菜鳥教程'(限制條件);
注意:MySQL 的 WHERE 子句的字串比較是不區分大小寫的。
你可以使用 BINARY 關鍵字來設定 WHERE 子句的字串比較是區分大小寫的。
eg:
mysql> SELECT * from runoob_tbl WHERE BINARY runoob_author='runoob.com';
Empty set (0.01 sec)
mysql> SELECT * from runoob_tbl WHERE BINARY runoob_author='RUNOOB.COM';
例子: runoob_id | runoob_title | runoob_author | submission_date |
+-----------+---------------+---------------+-----------------+
| 3 | JAVA 教程 | RUNOOB.COM | 2016-05-06 |
| 4 | 學習 Python | RUNOOB.COM | 2016-03-06 |
9、MySQL UPDATE 查詢
(如果我們需要修改或更新 MySQL 中的資料,我們可以使用 SQL UPDATE 命令來操作)
UPDATE table_name(表名) SET field1=new-value1, field2=new-value2
[WHERE Clause(限定條件)]
你可以同時更新一個或多個欄位。
你可以在 WHERE 子句中指定任何條件。
你可以在一個單獨表中同時更新資料。
當你需要更新資料表中指定行的資料時 WHERE 子句是非常有用的。
eg:
mysql> UPDATE runoob_tbl SET runoob_title='學習 C++' WHERE runoob_id=3;
Query OK, 1 rows affected (0.01 sec)
mysql> SELECT * from runoob_tbl WHERE runoob_id=3;
+-----------+--------------+---------------+-----------------+
| runoob_id | runoob_title | runoob_author | submission_date |
+-----------+--------------+---------------+-----------------+
| 3 | 學習 C++ | RUNOOB.COM | 2016-05-06 |
+-----------+--------------+---------------+-----------------+
1 rows in set (0.01 sec)
10、MySQL DELETE 語句
(你可以使用 SQL 的 DELETE FROM 命令來刪除 MySQL 資料表中的記錄。 )
DELETE FROM table_name(表名) [WHERE Clause(限定條件)]
如果沒有指定 WHERE 子句,MySQL 表中的所有記錄將被刪除。
你可以在 WHERE 子句中指定任何條件
您可以在單個表中一次性刪除記錄。
當你想刪除資料表中指定的記錄時 WHERE 子句是非常有用的。
eg:
mysql> use RUNOOB(資料庫名);
Database changed
mysql> DELETE FROM runoob_tbl(表名) WHERE runoob_id=3(限定條件);
Query OK, 1 row affected (0.23 sec)
11、MySQL LIKE 子句
(我們知道在 MySQL 中使用 SQL SELECT 命令來讀取資料, 同時我們可以在 SELECT 語句中使用
WHERE 子句來獲取指定的記錄。
WHERE 子句中可以使用等號 = 來設定獲取資料的條件,如 "runoob_author = 'RUNOOB.COM'"。
但是有時候我們需要獲取 runoob_author 欄位含有 "COM" 字元的所有記錄,
這時我們就需要在 WHERE 子句中使用 SQL LIKE 子句。
SQL LIKE 子句中使用百分號 %字元來表示任意字元,類似於UNIX或正則表示式中的星號 *。
如果沒有使用百分號 %, LIKE 子句與等號 = 的效果是一樣的。 )
SELECT field1, field2,...fieldN
FROM table_name
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
例項
以下是我們將 runoob_tbl 表中獲取 runoob_author 欄位中以 COM 為結尾的的所有記錄:
SQL LIKE 語句:
mysql> use RUNOOB;
Database changed
mysql> SELECT * from runoob_tbl WHERE runoob_author LIKE '%COM';
+-----------+---------------+---------------+-----------------+
| runoob_id | runoob_title | runoob_author | submission_date |
+-----------+---------------+---------------+-----------------+
| 3 | 學習 Java | RUNOOB.COM | 2015-05-01 |
| 4 | 學習 Python | RUNOOB.COM | 2016-03-06 |
+-----------+---------------+---------------+-----------------+