CREATE TABLE mytable (
name VARCHAR(20),
sex CHAR(1),
birth DATE,
birthaddr VARCHAR(20)
);
+----------+------+------------+-----------+
| name | sex | birth | birthaddr |
+----------+------+------------+-----------+
| abccs | f | 1977-07-07 | china |
| mary | f | 1978-12-12 | usa |
| tom | m | 1970-09-02 | usa |
+----------+------+------------+-----------+
CREATE TABLE title (
writer VARCHAR(20) NOT NULL,
title VARCHAR(40) NOT NULL,
senddate DATE
);
+--------+-------+------------+
| writer | title | senddate |
+--------+-------+------------+
| abccs | a1 | 2000-01-23 |
| mary | b1 | 1998-03-21 |
| abccs | a2 | 2000-12-04 |
| tom | c1 | 1992-05-16 |
| tom | c2 | 1999-12-12 |
+--------+-------+------------+
SELECT name, sex, title
FROM mytable, title
WHERE name = writer AND name = 'abccs';
+-------+------+-------+
| name | sex | title |
+-------+------+-------+
| abccs | f | a1 |
| abccs | f | a2 |
+-------+------+-------+
SELECT title, writer, birthaddr, birth
FROM mytable, title
WHERE mytable.name = title.writer AND title = 'a2';
+-------+--------+-----------+------------+
| title | writer | birthaddr | birth |
+-------+--------+-----------+------------+
| a2 | abccs | china | 1977-07-07 |
+-------+--------+-----------+------------+
若 title 表的作者欄位也叫 name,必須寫 mytable.name 和 title.name 區分。
ALTER TABLE mytable ADD COLUMN single CHAR(1);
UPDATE mytable SET single = 'y' WHERE name = 'abccs';
+----------+------+------------+-----------+--------+
| name | sex | birth | birthaddr | single |
+----------+------+------------+-----------+--------+
| abccs | f | 1977-07-07 | china | y |
| mary | f | 1978-12-12 | usa | NULL |
| tom | m | 1970-09-02 | usa | NULL |
+----------+------+------------+-----------+--------+
mysqldump -u root -p 資料庫名 表名 > backup.sql
# 建立 mytable.txt (Tab 分隔,欄位順序同 CREATE TABLE)
abccs f 1977-07-07 china
mary f 1978-12-12 usa
tom m 1970-09-02 usa
# 匯入
LOAD DATA LOCAL INFILE 'mytable.txt' INTO TABLE mytable;
CREATE TABLE new_table LIKE mytable;
INSERT INTO new_table SELECT * FROM mytable;
DELETE FROM mytable WHERE name = 'tom'; -- 刪除特定記錄
TRUNCATE TABLE mytable; -- 快速清空全表 (重置自增 ID)
DROP TABLE mytable; -- 刪除表結構與資料