Navicat for MySQL是一套專為MySQL設計的強大資料庫管理及開發工具,圖形化介面讓你更容易操作。
1. 另外,你可以按↑,回到上條命令,此時可以改正。
2.退出MySQL:quit或exit
以下是MySQL常用命令:
show databases; 顯示資料庫
create database name; 建立資料庫
use databasename; 選擇資料庫
show tables; 顯示錶
describe tablename; 顯示具體的表結構
select 中加上distinct去除重複欄位
顯示當前mysql版本和當前日期
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 //重新整理資料庫
mysql>use dbname; 開啟資料庫:
mysql>show databases; 顯示所有資料庫
mysql>show tables; 顯示資料庫mysql中所有的表:先use mysql;然後
mysql>describe user; 顯示錶mysql資料庫中user表的列資訊);
grant
建立使用者firstdb(密碼firstdb)和資料庫,並賦予權限於firstdb資料庫
mysql> create database firstdb;
mysql> grant all on firstdb.* to firstdb identified by "firstdb"
會自動建立使用者firstdb
mysql預設的是本地主機是localhost,對應的IP地址就是127.0.0.1,所以你用你的IP地址登入會出錯,如果你想用你的IP地址登入就要先進行授權用grant命令。
mysql>grant all on . to [email protected] identified by "123456";
說明:grant 與on 之間是各種許可權,例如:insert,select,update等
on 之後是資料庫名和表名,第一個*表示所有的資料庫,第二個*表示所有的表
root可以改成你的使用者名稱,@後可以跟域名或IP地址,identified by 後面的是登入用的密碼,可以省略,即預設密碼或者叫空密碼。
drop database firstdb;
建立一個可以從任何地方連線伺服器的一個完全的超級使用者,但是必須使用一個口令something做這個
mysql> grant all privileges on . to user@localhost identified by "something" with
增加新使用者
格式:grant select on 資料庫.* 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;
mysql> revoke all privileges on . from root@"%";
mysql> delete from user where user="root" and host="%";
mysql> flush privileges;
建立一個使用者custom在特定客戶端it363.com登入,可訪問特定資料庫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
備份資料庫
shell> mysqldump -h host -u root -p dbname >dbname_backup.sql
恢復資料庫
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
如果只想卸出插入資料的sql命令,而不需要建表命令,則命令如下:
shell> mysqladmin -u root -p -t databasename > a.sql
那麼如果我只想要資料,而不想要什麼sql命令時,應該如何操作呢?
mysqldump -T./ phptest driver
其中,只有指定了-T引數才可以卸出純文字檔案,表示卸出資料的目錄,./表示當前目錄,即與mysqldump同一目錄。如果不指定driver表,則將卸出整個資料庫的資料。每個表會生成兩個檔案,一個為.sql檔案,包含建表執行。另一個為.txt檔案,只包含資料,且沒有sql指令。
可將查詢儲存在一個檔案中並告訴mysql從檔案中讀取查詢而不是等待鍵盤輸入。可利用外殼程式鍵入重定向實用程式來完成這項工作。例如,如果在檔案my_file.sql 中存放有查
詢,可如下執行這些查詢:
例如,如果您想將建表語句提前寫在sql.txt中,
mysql > mysql -h myhost -u root -p
Mysql5.0支援的字符集
MySQL中的字符集控制做得比較細,可以分為資料庫級,表級, 欄位級(這一點和ORACLE不同)。我上次改的字符集是資料庫級的,對錶sysuser沒有影響,所以出現了改了字符集卻一樣無法插入中文的情況。
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 時,可以在命令列引數中指定一個預設的的字符集,如果沒指定,這個值繼承自配置檔案中的;
此時 character_set_server 被設定為這個預設的字符集;
當建立一個新的資料庫時,除非明確指定,這個資料庫的字符集被預設設定為 character_set_server;
當選定了一個數據庫時,character_set_database 被設定為這個資料庫預設的字符集;
在這個資料庫裡建立一張表時,表預設的字符集被設定為 character_set_database,也就是這個資料庫預設的字符集;
當在表內設定一欄時,除非明確指定,否則此欄預設的字符集就是表預設的字符集;
這個字符集就是資料庫中實際儲存資料採用的字符集,mysqldump 出來的內容就是這個字符集下的;Query Browser1.1 對中文輸入的支援太差勁了,可以用notebook寫好後,再copy過去執行
update firstdb.users set username="以" where id=3;
MYSQL 常用命令
1.匯出整個資料庫
mysqldump -u 使用者名稱 -p --default-character-set=latin1 資料庫名 > 匯出的
檔名(資料庫預設編碼是latin1)
mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
2.匯出一個表
mysqldump -u 使用者名稱 -p 資料庫名 表名> 匯出的檔名
mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql
3.匯出一個數據庫結構
mysqldump -u wcnc -p -d -add-drop-table smgp_apps_wcnc >d:wcnc_db.sql
-d 沒有資料 -add-drop-table 在每個create語句之前增加一個drop table
4.匯入資料庫
A:常用source 命令
進入mysql資料庫控制檯,
如mysql -u root -p
mysql>use 資料庫
然後使用source命令,後面引數為指令碼檔案(如這裡用到的.sql)
mysql>source wcnc_db.sql
B:使用mysqldump命令
mysqldump -u username -p dbname < filename
Navicat for MySQL是一套專為MySQL設計的強大資料庫管理及開發工具,圖形化介面讓你更容易操作。
1. 另外,你可以按↑,回到上條命令,此時可以改正。
2.退出MySQL:quit或exit
以下是MySQL常用命令:
show databases; 顯示資料庫
create database name; 建立資料庫
use databasename; 選擇資料庫
show tables; 顯示錶
describe tablename; 顯示具體的表結構
select 中加上distinct去除重複欄位
顯示當前mysql版本和當前日期
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 //重新整理資料庫
mysql>use dbname; 開啟資料庫:
mysql>show databases; 顯示所有資料庫
mysql>show tables; 顯示資料庫mysql中所有的表:先use mysql;然後
mysql>describe user; 顯示錶mysql資料庫中user表的列資訊);
grant
建立使用者firstdb(密碼firstdb)和資料庫,並賦予權限於firstdb資料庫
mysql> create database firstdb;
mysql> grant all on firstdb.* to firstdb identified by "firstdb"
會自動建立使用者firstdb
mysql預設的是本地主機是localhost,對應的IP地址就是127.0.0.1,所以你用你的IP地址登入會出錯,如果你想用你的IP地址登入就要先進行授權用grant命令。
mysql>grant all on . to [email protected] identified by "123456";
說明:grant 與on 之間是各種許可權,例如:insert,select,update等
on 之後是資料庫名和表名,第一個*表示所有的資料庫,第二個*表示所有的表
root可以改成你的使用者名稱,@後可以跟域名或IP地址,identified by 後面的是登入用的密碼,可以省略,即預設密碼或者叫空密碼。
drop database firstdb;
建立一個可以從任何地方連線伺服器的一個完全的超級使用者,但是必須使用一個口令something做這個
mysql> grant all privileges on . to user@localhost identified by "something" with
增加新使用者
格式:grant select on 資料庫.* 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;
mysql> revoke all privileges on . from root@"%";
mysql> delete from user where user="root" and host="%";
mysql> flush privileges;
建立一個使用者custom在特定客戶端it363.com登入,可訪問特定資料庫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
備份資料庫
shell> mysqldump -h host -u root -p dbname >dbname_backup.sql
恢復資料庫
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
如果只想卸出插入資料的sql命令,而不需要建表命令,則命令如下:
shell> mysqladmin -u root -p -t databasename > a.sql
那麼如果我只想要資料,而不想要什麼sql命令時,應該如何操作呢?
mysqldump -T./ phptest driver
其中,只有指定了-T引數才可以卸出純文字檔案,表示卸出資料的目錄,./表示當前目錄,即與mysqldump同一目錄。如果不指定driver表,則將卸出整個資料庫的資料。每個表會生成兩個檔案,一個為.sql檔案,包含建表執行。另一個為.txt檔案,只包含資料,且沒有sql指令。
可將查詢儲存在一個檔案中並告訴mysql從檔案中讀取查詢而不是等待鍵盤輸入。可利用外殼程式鍵入重定向實用程式來完成這項工作。例如,如果在檔案my_file.sql 中存放有查
詢,可如下執行這些查詢:
例如,如果您想將建表語句提前寫在sql.txt中,
mysql > mysql -h myhost -u root -p
Mysql5.0支援的字符集
MySQL中的字符集控制做得比較細,可以分為資料庫級,表級, 欄位級(這一點和ORACLE不同)。我上次改的字符集是資料庫級的,對錶sysuser沒有影響,所以出現了改了字符集卻一樣無法插入中文的情況。
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 時,可以在命令列引數中指定一個預設的的字符集,如果沒指定,這個值繼承自配置檔案中的;
此時 character_set_server 被設定為這個預設的字符集;
當建立一個新的資料庫時,除非明確指定,這個資料庫的字符集被預設設定為 character_set_server;
當選定了一個數據庫時,character_set_database 被設定為這個資料庫預設的字符集;
在這個資料庫裡建立一張表時,表預設的字符集被設定為 character_set_database,也就是這個資料庫預設的字符集;
當在表內設定一欄時,除非明確指定,否則此欄預設的字符集就是表預設的字符集;
這個字符集就是資料庫中實際儲存資料採用的字符集,mysqldump 出來的內容就是這個字符集下的;Query Browser1.1 對中文輸入的支援太差勁了,可以用notebook寫好後,再copy過去執行
update firstdb.users set username="以" where id=3;
MYSQL 常用命令
1.匯出整個資料庫
mysqldump -u 使用者名稱 -p --default-character-set=latin1 資料庫名 > 匯出的
檔名(資料庫預設編碼是latin1)
mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
2.匯出一個表
mysqldump -u 使用者名稱 -p 資料庫名 表名> 匯出的檔名
mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql
3.匯出一個數據庫結構
mysqldump -u wcnc -p -d -add-drop-table smgp_apps_wcnc >d:wcnc_db.sql
-d 沒有資料 -add-drop-table 在每個create語句之前增加一個drop table
4.匯入資料庫
A:常用source 命令
進入mysql資料庫控制檯,
如mysql -u root -p
mysql>use 資料庫
然後使用source命令,後面引數為指令碼檔案(如這裡用到的.sql)
mysql>source wcnc_db.sql
B:使用mysqldump命令
mysqldump -u username -p dbname < filename