mysql -h 主機 -u 使用者 -p密碼
mysql -u root -p → 直接按 Entermysql -h 192.168.1.100 -u root -p123456exit 或 quit# 首次設定密碼
mysqladmin -u root password 'newpass'
# 變更既有密碼
mysqladmin -u root -p'oldpass' password 'newpass'
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
FLUSH PRIVILEGES;
GRANT 權限 ON 資料庫.表 TO '使用者'@'主機' IDENTIFIED BY '密碼';
GRANT ALL ON *.* TO 'test'@'%' IDENTIFIED BY 'abc';GRANT SELECT,INSERT,UPDATE,DELETE ON mydb.* TO 'test'@'localhost' IDENTIFIED BY 'abc';GRANT ... IDENTIFIED BY '';| 操作 | 指令 |
|---|---|
| 顯示所有資料庫 | |
| 切換資料庫 | |
| 顯示資料表 | |
| 檢視表結構 | |
| 建立資料庫 | |
| 建立資料表 | |
| 刪除資料庫/表 | |
| 清空表資料 | |
| 查詢所有資料 |
-- school.sql
DROP DATABASE IF EXISTS school;
CREATE DATABASE school;
USE school;
CREATE TABLE teacher (
id INT(3) AUTO_INCREMENT PRIMARY KEY,
name CHAR(10) NOT NULL,
address VARCHAR(50) DEFAULT '深圳',
year DATE
);
INSERT INTO teacher VALUES ('', 'glchengang', '深圳一中', '1976-10-10');
INSERT INTO teacher VALUES ('', 'jack', '深圳一中', '1975-12-23');
執行方式:
mysql -u root -p < school.sql
資料格式:欄位以 Tab 分隔,NULL 用 \N 表示。
3 rose 深圳二中 1976-10-10
4 mike 深圳一中 1975-12-23
匯入指令:
LOAD DATA LOCAL INFILE 'data.txt' INTO TABLE teacher;
mysqldump -u root -p db_name > dump.sqlmysqldump -u root -p db_name t1 t2 > dump.sqlmysqldump -u root -p --databases db1 db2 > dump.sqlmysqldump -u root -p --all-databases > all.sqlmysql -u root -p db_name < dump.sqlSOURCE dump.sql;-- 重命名表
ALTER TABLE t1 RENAME t2;
-- 修改欄位型別並重命名
ALTER TABLE t2 MODIFY a TINYINT NOT NULL, CHANGE b c CHAR(20);
-- 新增 TIMESTAMP 欄位
ALTER TABLE t2 ADD d TIMESTAMP;
-- 新增索引與主鍵
ALTER TABLE t2 ADD INDEX (d), ADD PRIMARY KEY (a);
-- 刪除欄位
ALTER TABLE t2 DROP COLUMN c;
-- 新增 AUTO_INCREMENT 欄位(必須建索引且 NOT NULL)
ALTER TABLE t2 ADD c INT UNSIGNED NOT NULL AUTO_INCREMENT, ADD INDEX (c);
-- 刪除符合條件資料
DELETE FROM t1 WHERE c > 10;
-- 更新資料
UPDATE t1 SET user='weiqiong', password='weiqiong';
-- 建立前綴索引
CREATE INDEX part_of_name ON customer (name(10));
.sql 檔,用 SOURCE 或重導向執行,利於除錯與版控。