cmd里MySQL常用命令
Navicat for Mysql是一套專為Mysql設(shè)計的強大數(shù)據(jù)庫管理及開發(fā)工具,圖形化界面讓你更容易操作。
另外,你可以按↑,回到上條命令,此時可以改正。
2.退出MySQL:quit或exit
以下是MySQL常用命令:
show databases; 顯示數(shù)據(jù)庫
create database name; 創(chuàng)建數(shù)據(jù)庫
use databasename; 選擇數(shù)據(jù)庫
drop database name 直接刪除數(shù)據(jù)庫,不提醒
show tables; 顯示表
describe tablename; 顯示具體的表結(jié)構(gòu)
select 中加上distinct去除重復(fù)字段
mysqladmin drop databasename 刪除數(shù)據(jù)庫前,有提示。
顯示當(dāng)前mysql版本和當(dāng)前日期
select version(),current_date;
修改mysql中root的密碼:
shell>mysql -h localhost -u root -p //登錄
mysql> update user set password=password(“xueok654123”) where user=‘root’;
mysql> flush privileges //刷新數(shù)據(jù)庫
mysql>use dbname; 打開數(shù)據(jù)庫:
mysql>show databases; 顯示所有數(shù)據(jù)庫
mysql>show tables; 顯示數(shù)據(jù)庫mysql中所有的表:先use mysql;然后
mysql>describe user; 顯示表mysql數(shù)據(jù)庫中user表的列信息);
grant
創(chuàng)建用戶firstdb(密碼firstdb)和數(shù)據(jù)庫,并賦予權(quán)限于firstdb數(shù)據(jù)庫
mysql> create database firstdb;
mysql> grant all on firstdb.* to firstdb identified by ‘firstdb’
會自動創(chuàng)建用戶firstdb
mysql默認的是本地主機是localhost,對應(yīng)的IP地址就是127.0.0.1,所以你用你的IP地址登錄會出錯,如果你想用你的IP地址登錄就要先進行授權(quán)用grant命令。
mysql>grant all on . to root@202.116.39.2 identified by “123456”;
說明:grant 與on 之間是各種權(quán)限,例如:insert,select,update等
on 之后是數(shù)據(jù)庫名和表名,第一個表示所有的數(shù)據(jù)庫,第二個表示所有的表
root可以改成你的用戶名,@后可以跟域名或IP地址,identified by 后面的是登錄用的密碼,可以省略,即缺省密碼或者叫空密碼。
drop database firstdb;
創(chuàng)建一個可以從任何地方連接服務(wù)器的一個完全的超級用戶,但是必須使用一個口令something做這個
mysql> grant all privileges on . to user@localhost identified by ‘something’ with
增加新用戶
格式:grant select on 數(shù)據(jù)庫.* to 用戶名@登錄主機 identified by “密碼”
GRANT ALL PRIVILEGES ON . TO monty@localhost IDENTIFIED BY ‘something’ WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON . TO monty@"%" IDENTIFIED BY ‘something’ WITH GRANT OPTION;
刪除授權(quán):
mysql> revoke all privileges on . from root@"%";
mysql> delete from user where user=“root” and host="%";
mysql> flush privileges;
創(chuàng)建一個用戶custom在特定客戶端it363.com登錄,可訪問特定數(shù)據(jù)庫fangchandb
mysql >grant select, insert, update, delete, create,drop on fangchandb.* to custom@ it363.com identified by ’ passwd’
重命名表:
mysql > alter table t1 rename t2;
mysqldump
備份數(shù)據(jù)庫
shell> mysqldump -h host -u root -p dbname >dbname_backup.sql
恢復(fù)數(shù)據(jù)庫
shell> mysqladmin -h myhost -u root -p create dbname
shell> mysqldump -h host -u root -p dbname < dbname_backup.sql
如果只想卸出建表指令,則命令如下:
shell> mysqladmin -u root -p -d databasename > a.sql
如果只想卸出插入數(shù)據(jù)的sql命令,而不需要建表命令,則命令如下:
shell> mysqladmin -u root -p -t databasename > a.sql
那么如果我只想要數(shù)據(jù),而不想要什么sql命令時,應(yīng)該如何操作呢?
mysqldump -T./ phptest driver
其中,只有指定了-T參數(shù)才可以卸出純文本文件,表示卸出數(shù)據(jù)的目錄,./表示當(dāng)前目錄,即與mysqldump同一目錄。如果不指定driver表,則將卸出整個數(shù)據(jù)庫的數(shù)據(jù)。每個表會生成兩個文件,一個為.sql文件,包含建表執(zhí)行。另一個為.txt文件,只包含數(shù)據(jù),且沒有sql指令。
可將查詢存儲在一個文件中并告訴mysql從文件中讀取查詢而不是等待鍵盤輸入。可利用外殼程序鍵入重定向?qū)嵱贸绦騺硗瓿蛇@項工作。例如,如果在文件my_file.sql 中存放有查
詢,可如下執(zhí)行這些查詢:
例如,如果您想將建表語句提前寫在sql.txt中,
mysql > mysql -h myhost -u root -p
Mysql5.0支持的字符集
MySQL中的字符集控制做得比較細,可以分為數(shù)據(jù)庫級,表級, 字段級(這一點和ORACLE不同)。我上次改的字符集是數(shù)據(jù)庫級的,對表sysuser沒有影響,所以出現(xiàn)了改了字符集卻一樣無法插入中文的情況。
Drop TABLE IF EXISTS firstdb.users;
Create TABLE firstdb.users (
id int(11) NOT NULL auto_increment,
username varchar(40) default NULL,
birthday date default NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
編譯 MySQL 時,指定了一個默認的字符集,這個字符集是 latin1;
安裝 MySQL 時,可以在配置文件 (my.ini) 中指定一個默認的的字符集,如果沒指定,這個值繼承自編譯時指定的;
啟動 mysqld 時,可以在命令行參數(shù)中指定一個默認的的字符集,如果沒指定,這個值繼承自配置文件中的;
此時 character_set_server 被設(shè)定為這個默認的字符集;
當(dāng)創(chuàng)建一個新的數(shù)據(jù)庫時,除非明確指定,這個數(shù)據(jù)庫的字符集被缺省設(shè)定為 character_set_server;
當(dāng)選定了一個數(shù)據(jù)庫時,character_set_database 被設(shè)定為這個數(shù)據(jù)庫默認的字符集;
在這個數(shù)據(jù)庫里創(chuàng)建一張表時,表默認的字符集被設(shè)定為 character_set_database,也就是這個數(shù)據(jù)庫默認的字符集;
當(dāng)在表內(nèi)設(shè)置一欄時,除非明確指定,否則此欄缺省的字符集就是表默認的字符集;
這個字符集就是數(shù)據(jù)庫中實際存儲數(shù)據(jù)采用的字符集,mysqldump 出來的內(nèi)容就是這個字符集下的;Query Browser1.1 對中文輸入的支持太差勁了,可以用notebook寫好后,再copy過去執(zhí)行
update firstdb.users set username=‘以’ where id=3;
MYSQL 常用命令
1.導(dǎo)出整個數(shù)據(jù)庫
mysqldump -u 用戶名 -p --default-character-set=latin1 數(shù)據(jù)庫名 > 導(dǎo)出的
文件名(數(shù)據(jù)庫默認編碼是latin1)
mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
2.導(dǎo)出一個表
mysqldump -u 用戶名 -p 數(shù)據(jù)庫名 表名> 導(dǎo)出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql
3.導(dǎo)出一個數(shù)據(jù)庫結(jié)構(gòu)
mysqldump -u wcnc -p -d -add-drop-table smgp_apps_wcnc >d:wcnc_db.sql
-d 沒有數(shù)據(jù) -add-drop-table 在每個create語句之前增加一個drop table
4.導(dǎo)入數(shù)據(jù)庫
A:常用source 命令
進入mysql數(shù)據(jù)庫控制臺,
如mysql -u root -p
mysql>use 數(shù)據(jù)庫
然后使用source命令,后面參數(shù)為腳本文件(如這里用到的.sql)
mysql>source wcnc_db.sql
B:使用mysqldump命令
mysqldump -u username -p dbname < filename
MySQL SQL 數(shù)據(jù)庫
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。