註:入坑內容來源於易百教程,這隻是自己學習路上的經驗總結...(附上易百教程網址:http://www.yiibai.com/mysql/) MySQL導入示例資料庫(http://www.yiibai.com/mysql/how-to-load-sample-database-into-mysql ...
註:入坑內容來源於易百教程,這隻是自己學習路上的經驗總結...(附上易百教程網址:http://www.yiibai.com/mysql/)
MySQL導入示例資料庫(http://www.yiibai.com/mysql/how-to-load-sample-database-into-mysql-database-server.html)
基本語句:
SELECT語句(從表或試圖獲取數據)
查詢employees表裡的所有信息
SELECT * FROM employees;
只查看員工的名字,姓氏和職位,請使用以下查詢:
SELECT lastname, firstname, jobtitle FROM employees;
where語句(根據指定的過濾表達式或條件來指定要選擇的行)
假設只想從employees
表中獲取銷售代表員工,可使用以下查詢
SELECT lastname, firstname, jobtitle FROM employees WHERE jobtitle = 'Sales Rep';
資料庫的操作:
創建資料庫:
CREATE DATABASE [IF NOT EXISTS] database_name;
顯示資料庫:
SHOW DATABASES
選擇要使用的資料庫:
USE DATABASE;
刪除資料庫:
DROP DATABASE [IF EXISTS] database_name;
資料庫_表_的操作:
創建表:
CREATE TABLE [IF NOT EXISTS] table_name( column_list ) engine=table_type;
註:要在CREATE TABLE
語句中為表定義列,請使用以下語法:
column_name data_type[size] [NOT NULL|NULL] [DEFAULT value] [AUTO_INCREMENT]
column_name
指定列的名稱。每列具有特定數據類型和大小,例如:VARCHAR(255)
。NOT NULL
或NULL
表示該列是否接受NULL
值。DEFAULT
值用於指定列的預設值。AUTO_INCREMENT
指示每當將新行插入到表中時,列的值會自動增加。每個表都有一個且只有一個AUTO_INCREMENT
列。
如果要將表的特定列設置為主鍵,則使用以下語法:
PRIMARY KEY (col1,col2,...)
eg:
CREATE TABLE IF NOT EXISTS tasks ( task_id INT(11) NOT NULL AUTO_INCREMENT, subject VARCHAR(45) DEFAULT NULL, start_date DATE DEFAULT NULL, end_date DATE DEFAULT NULL, description VARCHAR(200) DEFAULT NULL, PRIMARY KEY (task_id) ) ENGINE=InnoDB;View Code
修改表(包括刪除):
首先創建一個名為tasks
的新表:
DROP TABLE IF EXISTS tasks; CREATE TABLE tasks ( task_id INT NOT NULL, subject VARCHAR(45) NULL, start_date DATE NULL, end_date DATE NULL, description VARCHAR(200) NULL, PRIMARY KEY (task_id), UNIQUE INDEX task_id_unique (task_id ASC) );View Code
使用MySQL ALTER TABLE語句來設置列的自動遞增屬性:
ALTER TABLE tasks CHANGE COLUMN task_id task_id INT(11) NOT NULL AUTO_INCREMENT;
驗證:
INSERT INTO tasks(subject, start_date, end_date, description) VALUES('Learn MySQL ALTER TABLE', Now(), Now(), 'Practicing MySQL ALTER TABLE statement'); INSERT INTO tasks(subject, start_date, end_date, description) VALUES('Learn MySQL CREATE TABLE', Now(), Now(), 'Practicing MySQL CREATE TABLE statement'); SELECT task_id, description FROM tasks;View Code
使用MySQL ALTER TABLE語句將新的列添加到表中:
ALTER TABLE tasks ADD COLUMN complete DECIMAL(2,1) NULL AFTER description;
使用MySQL ALTER TABLE從表中刪除列:
ALTER TABLE tasks DROP COLUMN description;
重命名錶:
ALTER TABLE tasks RENAME TO work_items;
數據的增刪改查:
首先創建一個表:
USE testdb; CREATE TABLE IF NOT EXISTS tasks ( task_id INT(11) AUTO_INCREMENT, subject VARCHAR(45) DEFAULT NULL, start_date DATE DEFAULT NULL, end_date DATE DEFAULT NULL, description VARCHAR(200) DEFAULT NULL, PRIMARY KEY (task_id) )ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO(插入數據)
INSERT INTO table(column1,column2...) VALUES (value1,value2,...);
多行:
INSERT INTO table(column1,column2...) VALUES (value1,value2,...), (value1,value2,...), ...;
如果為表中的所有列指定相應列的值,則可以忽略INSERT
語句中的列列表,如下所示:
INSERT INTO table VALUES (value1,value2,...), (value1,value2,...), ...;
update語句(更新數據)
UPDATE table_name SET column_name1 = expr1, column_name2 = expr2, ... WHERE condition;
eg:
UPDATE employees SET email = '[email protected]' WHERE employeeNumber = 1056;
多行:
UPDATE employees SET lastname = 'Hill', email = '[email protected]' WHERE employeeNumber = 1056;
delete語句(刪除數據)
DELETE FROM table_name WHERE condition;