您好,登錄后才能下訂單哦!
這篇文章主要講解了“常用的mysql命令匯總”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“常用的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 ’pwd’ 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指令。
七、可將查詢存儲在一個文件中并告訴從文件中讀取查詢而不是等待鍵盤輸入。可利用外殼程序鍵入重定向實用程序來完成這項工作。例如,如果在文件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命令匯總這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。