關係型數據庫 = 表格集合。表由表頭(列名)、行(記錄)、列(字段)、值、鍵(主鍵/唯一鍵)組成。
C:\Program Files\mysql-5.1.69-win32my-small.ini → my.ini,在 [client] 和 [mysqld] 下添加 default-character-set = gbkMYSQL_HOME=C:\Program Files\mysql-5.1.69-win32,Path 追加 ;%MYSQL_HOME%\binmysqld --install MySQL --defaults-file="my.ini"NET START MySQL
NET STOP MySQL
SC DELETE MySQL # 卸載服務
; 結束| 類別 | 子類型 |
|---|---|
| 數字 | TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT, FLOAT, DOUBLE, DECIMAL |
| 日期時間 | DATE, TIME, DATETIME, TIMESTAMP, YEAR |
| 字符串 | CHAR, VARCHAR, TINYTEXT/TEXT/MEDIUMTEXT/LONGTEXT, TINYBLOB/BLOB/MEDIUMBLOB/LONGBLOB |
mysql -h host -u user -p
# 本地省略 -h
CREATE DATABASE samp_db CHARACTER SET gbk;
SHOW DATABASES;
USE samp_db;
# 或登錄時指定:mysql -D samp_db -u root -p
CREATE TABLE students (
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
name CHAR(8) NOT NULL,
sex CHAR(4) NOT NULL,
age TINYINT UNSIGNED NOT NULL,
tel CHAR(13) NULL DEFAULT '-'
);
腳本化:保存為 createtable.sql,執行 mysql -D samp_db -u root -p < createtable.sql
-- 插入
INSERT INTO students VALUES (NULL, '王剛', '男', 20, '13811371377');
INSERT INTO students (name, sex, age) VALUES ('孫麗華', '女', 21);
-- 查詢
SELECT name, age FROM students;
SELECT * FROM students WHERE sex='女';
SELECT * FROM students WHERE age > 21;
SELECT * FROM students WHERE name LIKE '%王%';
-- 更新
UPDATE students SET tel=DEFAULT WHERE id=5;
UPDATE students SET age=age+1;
UPDATE students SET name='張偉鵬', age=19 WHERE tel='13288097888';
-- 刪除
DELETE FROM students WHERE id=2;
DELETE FROM students WHERE age < 20;
DELETE FROM students; -- 清空表
ALTER TABLE students ADD address CHAR(60);
ALTER TABLE students ADD birthday DATE AFTER age;
ALTER TABLE students CHANGE tel telphone CHAR(13) DEFAULT '-';
ALTER TABLE students CHANGE name name CHAR(16) NOT NULL;
ALTER TABLE students DROP birthday;
ALTER TABLE students RENAME workmates;
DROP TABLE workmates;
DROP DATABASE samp_db;
mysqladmin -u root -p password '新密碼'
MySQL Workbench:官方 GUI,支持語法高亮、語法檢查、ER 圖、服務器監控。