共計 4187 個字符,預計需要花費 11 分鐘才能閱讀完成。
這篇文章主要講解了“常用的 mysql 命令匯總”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著丸趣 TV 小編的思路慢慢深入,一起來研究和學習“常用的 mysql 命令匯總”吧!
一、連接 MySQL
格式:mysql -h 主機地址 -u 用戶名 -p 用戶密碼
二、修改密碼
格式:mysqladmin - u 用戶名 - p 舊密碼 password 新密碼
三、增加新用戶。
(注意:和上面不同,下面的因為是 MySQL 環境中的命令,所以后面都帶一個分號作為命令結束符)
格式:grant select on 數據庫.* to 用戶名 @登錄主機 identified by 密碼 [with grant option] 或者 [with admin option]
例 1、增加一個用戶 test1 密碼為 abc,讓他可以在任何主機上登錄,并對所有數據庫有查詢、插入、修改、刪除的權限。首先用以 root 用戶連入 MySQL,然后鍵入以下命令:
grant select,insert,update, delete on *.* to identified by abc
如果你不想 test2 有密碼,可以再打一個命令將密碼消掉。
grant select,insert,update,delete on mydb .* to identified by
with admin option 用于系統權限授權,with grant option 用于對象授權。
但給一個用戶授予系統權限 帶上 with admin option 時,此用戶可把此系統權限授予其他用戶或角色,但收回這個用戶的系統權限時,這個用戶已經授予其他用戶或角色的此系統權限不會因傳播無效,如授予 A 系統權 限 create session with admin option, 然后 A 又把 createsession 權限授予 B, 但管理員收回 A 的 create session 權限時,B 依然擁有 create session 的權限,但管理員可以顯式收回 B create session 的權限,即直接 revoke create session from B.
而 with grantoption 用于對象授權時,被授予的用戶也可把此對象權限授予其他用戶或角色,不同的是但管理員收回用 with grant option 授權的用戶對象權限時,權限會因傳播而失效,如 grant select on table with grant option to A,A 用戶把此權限授予 B,但管理員收回 A 的權限時,B 的權限也會失效,但管理員不可以直接收回 B 的 SELECT ONTABLE 權限。
如:GRANT ALLPRIVILEGES ON *.* TO IDENTIFIED BY rsquo;pwd rsquo; WITH GRANT OPTION;
四、刪除用戶授權 revokeall privileges on *.* from ”;
五、重命名表:
mysql alter table t1 rename t2;
六、備份數據庫
shell mysqldump -h host -u root -pdbname dbname_backup.sql
恢復數據庫
shell mysqladmin -h myhost -u root -pcreate dbname
shell mysqldump -h host -u root -pdbname dbname_backup.sql
如果只想卸出建表指令,則命令如下:
shell mysqladmin -u root -p -ddatabasename a.sql
如果只想卸出插入數據的 sql 命令,而不需要建表命令,則命令如下:
shell mysqladmin -u root -p -t databasename a.sql
那么如果我只想要數據,而不想要什么 sql 命令時,應該如何操作呢?
mysqldump-T./ test driver
其中,只有指定了 - T 參數才可以卸出純文本文件,表示卸出數據的目錄,./ 表示當前目錄,即與 mysqldump 同一目錄。如果不指定 driver 表,則將卸出整個的數據。每個表會生成兩個文件,一個為.sql 文件,包含建表執行。另一個為.txt 文件,只包含數據,且沒有 sql 指令。
七、可將查詢存儲在一個文件中并告訴從文件中讀取查詢而不是等待鍵盤輸入??衫猛鈿こ绦蜴I入重定向實用程序來完成這項工作。例如,如果在文件 my_file.sql 中存放有查
詢,可如下執行這些查詢:
例如,如果您想將建表語句提前寫在 sql.txt 中:
mysql mysql -h myhost -u root -pdatabase sql.txt
七、1) 創建數據庫 staffer
mysql create database staffer
2)創建表 create table
col_name type [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT]
[PRIMARY KEY] [reference_definition]
or PRIMARY KEY (index_col_name,…)
or KEY [index_name] (index_col_name,…)
or INDEX [index_name] (index_col_name,…)
or UNIQUE [INDEX] [index_name] (index_col_name,…)
or [CONSTRAINT symbol] FOREIGN KEY index_name (index_col_name,…)
[reference_definition]
or CHECK (expr)
col_name:表中列的名字。必須符合標識符規則,而且在表中要唯一。
type:列的數據類型。有的數據類型需要指明長度 n,并用括號括起。目前 MySQL 提供的數據類型詳見 MySQL 進階_列類型篇。
NOT NULL | NULL:指定該列是否允許為空。如果既不指定 NULL 也不指定 NOT NULL,列被認為指定了 NULL。
DEFAULT default_value:為列指定默認值。如果沒有為列指定默認值,MySQL 自動地分配一個。如果列可以取 NULL 作為值,缺省值是 NULL。如果列被聲明為 NOT NULL,缺省值取決于列類型:
1、對于沒有聲明 AUTO_INCREMENT 屬性的數字類型,缺省值是 0。對于一個 AUTO_INCREMENT 列,缺省值是在順序中的下一個值。
2、對于除 TIMESTAMP 的日期和時間類型,缺省值是該類型適當的“零”值。對于表中第一個 TIMESTAMP 列,缺省值是當前的日期和時間。
3、對于除 ENUM 的字符串類型,缺省是空字符串。對于 ENUM,缺省值是第一個枚舉值。
AUTO_INCREMENT:設置該列有自增屬性,只有整型列才能設置此屬性。當你插入 NULL 值或 0 到一個 AUTO_INCREMENT 列中 時,列被設置為 value+1,在這里 value 是此前表中該列的最大值。AUTO_INCREMENT 順序從 1 開始。每個表只能有一個 AUTO_INCREMENT 列,并且它必須被索引。
create table department
(
id int not null auto_increment,
name varchar(20) not null default 系統部 , #設定默認值
description varchar(100),
primary key PK_department (id) #設定主鍵
);
八、修改結構 alter 命令
mysql
#表 position 增加列 test
alter table positionadd(test char(10));
#表 position 修改列 test
alter table positionmodify test char(20) not null;
#表 position 修改列 test 默認值
alter table positionalter test set default system
#表 position 去掉 test 默認值
alter table positionalter test drop default;
#表 position 去掉列 test
alter table positiondrop column test;
#表 depart_pos 刪除主鍵
alter table depart_posdrop primary key;
#表 depart_pos 增加主鍵
alter tabledepart_pos add primary key PK_depart_pos (department_id,position_id);
九、1: 使用 SHOW 語句找出在服務器上當前存在什么數據庫:
mysql SHOW DATABASES;
2:2、創建一個數據庫 MYSQLDATA
mysql Create DATABASE MYSQLDATA;
3: 選擇你所創建的數據庫
mysql USE MYSQLDATA; (按回車鍵出現 Database changed 時說明操作成功!)
4: 查看現在的數據庫中存在什么表
mysql SHOW TABLES;
5: 創建一個數據庫表
mysql Create TABLE MYTABLE (nameVARCHAR(20), sex CHAR(1));
6: 顯示表的結構:
mysql DESCRIBE MYTABLE;
7: 往表中加入記錄
mysql insert into MYTABLE values(hyq , M
8: 用文本方式將數據裝入數據庫表中(例如 D:/mysql.txt)
mysql LOAD DATA LOCAL INFILE D:/mysql.txt INTO TABLE MYTABLE;
9: 導入.sql 文件命令(例如 D:/mysql.sql)
mysql use database;
mysql source d:/mysql.sql;
10: 刪除表
mysql drop TABLE MYTABLE;
11: 清空表
mysql delete from MYTABLE;
12: 更新表中數據 update 命令
mysql update MYTABLE setsex= f where name= hyq
感謝各位的閱讀,以上就是“常用的 mysql 命令匯總”的內容了,經過本文的學習后,相信大家對常用的 mysql 命令匯總這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是丸趣 TV,丸趣 TV 小編將為大家推送更多相關知識點的文章,歡迎關注!