-- 表 mytable(name, sex, birth, birthaddr) -- 表 title(writer, title, senddate) -- 查詢 abccs 的姓名、性別、文章 SELECT m.name, m.sex, t.title FROM mytable m, title t WHERE m.name = t.writer AND m.name = 'abccs'; -- 查詢文章 a2 的作者、出生地、出生日期 SELECT t.title, t.writer, m.birthaddr, m.birth FROM mytable m, title t WHERE m.name = t.writer AND t.title = 'a2';
注意:同名欄位需加表別名限定(m.name、t.writer)。
| 操作 | SQL |
|---|---|
| 新增欄位 | ALTER TABLE mytable ADD COLUMN single CHAR(1); |
| 修改資料 | UPDATE mytable SET single='y' WHERE name='abccs'; |
| 新增列 | INSERT INTO mytable VALUES ('abc','f','1966-08-17','china','n'); |
| 刪除列 | DELETE FROM mytable WHERE name='abc'; |
| 刪除表 | DROP TABLE tbl1, tbl2; |
| 刪除資料庫 | DROP DATABASE db_name; |
# 備份(命令列) mysqldump --opt db_name > db_name.sql # 還原 mysql -u root -p db_name < db_name.sql
# 建立 batch.sql USE db_name; SELECT * FROM mytable; SELECT name, sex FROM mytable WHERE name='abccs'; # 執行 mysql -u root -p < batch.sql # 或 mysql -u root -p -e "SOURCE batch.sql;"
START TRANSACTION; / COMMIT; 保證原子性。SET FOREIGN_KEY_CHECKS=0; SET UNIQUE_CHECKS=0; ... SET FOREIGN_KEY_CHECKS=1; SET UNIQUE_CHECKS=1;DELIMITER // ... DELIMITER ;。