首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL多表操作與批處理實戰(三):記錄增刪改查與表結構管理

     編輯:MySQL 資料庫相關知識

記錄插入 (INSERT)

-- 單條插入 (顯式列名,防結構變更報錯)
INSERT INTO mytable (name, sex, birth, birthaddr, single) 
VALUES ('abc', 'f', '1966-08-17', 'china', 'n');

-- 批量插入 (高性能)
INSERT INTO mytable (name, sex, birth, birthaddr, single) VALUES
('user1', 'm', '1990-01-01', 'beijing', 'y'),
('user2', 'f', '1992-05-20', 'shanghai', 'n'),
('user3', 'm', '1988-11-11', 'guangzhou', 'y');

記錄查詢 (SELECT)

-- 全表掃描 (慎用大表)
SELECT * FROM mytable;

-- 條件過濾
SELECT name, birth FROM mytable WHERE sex='f' AND birth > '1990-01-01';

-- 排序分頁
SELECT * FROM mytable ORDER BY birth DESC LIMIT 10 OFFSET 20;

記錄更新 (UPDATE)

-- 單條更新
UPDATE mytable SET single='y' WHERE name='mary';

-- 批量更新 (帶條件)
UPDATE mytable SET birthaddr='shenzhen' WHERE birthaddr='china';

-- 複雜更新 (子查詢/連接)
UPDATE mytable m
JOIN (SELECT id FROM other_table WHERE condition) o ON m.id=o.id
SET m.single='n';

記錄刪除 (DELETE)

-- 條件刪除
DELETE FROM mytable WHERE name='abc';

-- 全表刪除 (保留 AUTO_INCREMENT,觸發器生效)
DELETE FROM mytable WHERE 1;

-- TRUNCATE 對比:重置自增、不觸發觸發器、速度極快、不可回滾
TRUNCATE TABLE mytable;

表結構管理 (DDL)

刪除表

-- 刪除單表
DROP TABLE tbl_name;

-- 刪除多表 (原子操作)
DROP TABLE tbl1, tbl2, tbl3;

表結構查看

DESC mytable;
-- 或更詳細
SHOW CREATE TABLE mytable;

查詢結果示例

mysql> SELECT * FROM mytable;
+----------+------+------------+-----------+--------+
| 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   |
| abc      | f    | 1966-08-17 | china     | n      |
+----------+------+------------+-----------+--------+

實用技巧

  • USE db_name; 切換默認數據庫,後續表操作無需前綴
  • 命令未輸入分號可換行繼續,提示符變為 ->,輸入 \c 取消
  • ↑/↓ 瀏覽歷史命令,Ctrl+R 搜索歷史
  • 大數據量操作前 **必備份**,DELETE/UPDATE 無 WHERE 時客戶端提示確認 (需 --safe-updates 啟動參數)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved