程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> MySQL常用命令.整理版

MySQL常用命令.整理版

編輯:關於MYSQL數據庫
一、Linux下MySQL幾個常用命令:
----------------------------------------------------------------------------------------------------------------------- 1.Linux下啟動MySQL的命令
MySQLadmin start
/ect/init.d/mysql start (/ect/init.d/為mysql的安裝路徑) 2.Linux下重啟MySQL的命令
MySQLadmin restart
/ect/init.d/mysql restart 3.Linux下關閉MySQL的命令
MySQLadmin shutdown
/ect/init.d/mysql shutdown 4.登錄/退出MySQL命令行
進入mysql\bin目錄,鍵入命令 MySQL -uroot -p (回車後提示輸入密碼)
MySQL -h localhost -u root -p databaseName; exit
quit 5.修改MySQL密碼:
MySQLadmin -u用戶名 -p舊密碼 password 新密碼 (回車出現Enter passWord: 輸入原密碼)
或進入MySQL命令行,
mysql> SET PASSWORD FOR root=PASSWord("root"); 6.增加新用戶。(注意:MySQL環境中的命令後面都帶一個分號作為 命令結束符)
grant select on 數據庫.* to 用戶名@登錄主機 identifIEd by "密碼"
例如增加一個用戶test,密碼123,可以在任何主機上登錄,對所有數據庫有查詢、插入、修改、刪除的權限。首先以root用戶連入MySQL,然後鍵入以下命令:
grant select,insert,update,delete on *.* to test@"%" IdentifIEd by "123"; (危險!通常只允許用戶操縱特定的數據庫)
二、數據庫操作 必須首先登錄到mysql中,有關操作都是 在MySQL的提示符下進行,而且每個命令以分號結束 1、顯示數據庫列表。
show databases; 2、顯示庫中的數據表:
use 庫名; //打開庫
show tables; 3、顯示數據表的結構:
describe 表名; 4、建庫:
create database 庫名; 5、建表:
use 庫名;
create table 表名(字段設定列表); CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1)); 6、刪庫和刪表:
drop database 庫名;
drop table 表名; 7、將表中記錄清空:
delete from 表名; 8、顯示表中的記錄:
select * from 表名; 9、編碼的修改
如果要改變整個mysql的編碼格式,啟動mysql的時候,MySQLd_safe命令行加入
--default-character-set=gbk 如果要改變某個庫的編碼格式:在MySQL提示符後輸入命令
alter database db_name default character set gbk; 補充: 10、查看字符編碼
show variables like '%character%'; 11、查詢連接 MySQL服務器的進程列表
show full processlist; 12、殺掉連接 MySQL服務器的進程
kill [Linux命令11中查出來的進程id]
三、數據的導入導出 1、文本數據轉到數據庫中 (文本數據應符合的格式:字段數據之間用tab鍵隔開,null值用來代替。)
命令:MySQL> load data local infile "文件名" into table 表名;
例子:mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE; 創建一個文本文件“MySQL.txt”,每行包含一個記錄,用定位符(tab)把值分開,並且以CREATE TABLE語句中列出的列次序給出,例如:
abccs f 1977-07-07 china   mary f 1978-12-12 usa tom m 1970-09-02 usa 使用下面命令將文本文件“mytable.txt”裝載到mytable表中: MySQL> LOAD DATA LOCAL INFILE "mytable.txt" INTO TABLE pet;
2、導出數據庫和表
MySQLdump --opt news > news.sql(將數據庫news中的所有表備份到news.sql文件,news.sql是一個文本文件,文件名任取)
MySQLdump --opt news author article > author.article.sql(將數據庫news中的author表和article表備份到author.article.sql文件,author.article.sql是一個文本文件,文件名任取)
MySQLdump --databases db1 db2 > news.sql(將數據庫dbl和db2備份到news.sql文件,news.sql是一個文本文件,文件名任取)
MySQLdump -h host -u user -p pass --databases dbname > file.dump (將host上的以名字user,口令pass的數據庫dbname導入到文件file.dump中)
MySQLdump --all-databases > all-databases.sql(將所有數據庫備份到all-databases.sql文件,all-databases.sql是一個文本文件, 文件名任取) 3.備份數據庫表
命令:MySQLdump -u root -p database_name table_name > bak_file_name
例如: MySQLdump -u root -p f_info user_info > user_info.dat 4.導出數據
select_statment into outfile"dest_file";
例如:select coOperatecode,createtime from publish limit 10 into outfile"/home/mzc/temp/tempbad.txt"; 5.導入數據
MySQL < all-databases.sql(導入數據庫) 6、導入.sql文件命令(例如 d:/MySQL.sql)
MySQL>use database;
mysql>source d:/MySQL.sql;
四、基本sql操作 1.增加一個字段(一列)
alter table table_name add column column_name type default value; type指該字段的類型,value指該字段的默認值
例如:alter table mybook add column publish_house varchar(10) default ''; 2.更改一個字段名字(也可以改變類型和默認值)
alter table table_name change sorce_col_name dest_col_name type default value; source_col_name指原來的字段名稱,dest_col_name指改後的字段名稱
例如:alter table Board_Info change IsMobile IsTelphone int(3) unsigned default 1; 3.改變一個字段的默認值
alter table table_name alter column_name set default value;
例如:alter table book alter flag set default '0'; 4.改變一個字段的數據類型
alter table table_name change column column_name column_name type;
例如:alter table userinfo change column username username varchar(20); 5.向一個表中增加一個列做為主鍵
alter table table_name add column column_name type auto_increment PRIMARY KEY;
例如:alter table book add column id int(10) auto_increment PRIMARY KEY; 6.往表中加入記錄
MySQL> insert into MYTABLE values ("hyq","M"); 7.更新表中數據
MySQL>update MYTABLE set sex="f" where name=hyq; 9.將兩個表裡的數據拼接後插入到另一個表裡。下面的例子說明將t1表中的com2和t2表中的com1字段的值拼接後插入到tx表對應的字段裡。
例如:insert into tx select t1.com1,concat(t1.com2,t2.com1) from t1,t2;
五、網絡上得到的使用MySQL的管理心得 [來源:http://www1.xjtusky.com/article/htmldata/2004_12/3/57 /article_1060_1.Html] 在Windows中MySql以服務形式存在,使用前應確保此服務已經啟動,未啟動可用net start mysql命令啟動。Linux中啟動時可用“/etc/rc.d/init.d/mysqld start"命令,注意啟動者應具有管理員權限。剛安裝好的MySQL包含一個含空密碼的root帳戶和一個匿名帳戶,這是很大的安全隱患,對於一些重要的應用我們應將安全性盡可能提高,應當將匿名帳戶刪除、 root帳戶設置密碼,可用如下命令進行:
use MySQL;
delete from User where User="";
update User set Password=PASSWORD(newpassWord) where User=root; 如果要對用戶所用的登錄終端進行限制,可以更新User表中相應用戶的Host字段,在進行了以上更改後應重新啟動數據庫服務,此時登錄時可用如下類似命令:
MySQL -uroot -p;
MySQL -uroot -pnewpassWord;
MySQL mydb -uroot -p;
MySQL mydb -uroot -pnewpassWord;
上面命令參數是常用參數的一部分,詳細情況可參考文檔。此處的mydb是要登錄的數據庫的名稱。在進行開發和實際應用中,用戶不應該只用root用戶進行連接數據庫,雖然使用root用戶進行測試時很方便,但會給系統帶來重大安全隱患,也不利於管理技術的提高。我們給一個應用中使用的用戶賦予最恰當的數據庫權限。如一個只進行數據插入的用戶不應賦予其刪除數據的權限。MySQL的用戶管理是通過 User表來實現的,添加新用戶常用的方法有兩個,一是在User表插入相應的數據行,同時設置相應的權限;二是通過GRANT命令創建具有某種權限的用 戶。其中GRANT的常用用法如下:
grant all on mydb.* to NewUserName@HostName identifIEd by "passWord";
grant usage on *.* to NewUserName@HostName identifIEd by "passWord";
grant select,insert,update on mydb.* to NewUserName@HostName identifIEd by "passWord";
grant update,delete on mydb.TestTable to NewUserName@HostName identifIEd by "passWord";
若要給此用戶賦予他在相應對象上的權限的管理能力,可在GRANT後面添加WITH GRANT OPTION選項。而對於用插入User表添加的用戶,Password字段應用PASSWord 函數進行更新加密,以防不軌之人竊看密碼。對於那些已經不用的用戶應給予清除,權限過界的用戶應及時回收權限,回收權限可以通過更新User表相應字段,也可以使用REVOKE操作。從站點(www.cn-Java.com)獲得的對常用權限的解釋: FILE: 在MySQL服務器上讀寫文件。
PROCESS: 顯示或殺死屬於其它用戶的服務線程。
RELOAD: 重載訪問控制表,刷新日志等。
SHUTDOWN: 關閉MySQL服務。數據庫/數據表/數據列權限:
ALTER: 修改已存在的數據表(例如增加/刪除列)和索引。
CREATE: 建立新的數據庫或數據表。
DELETE: 刪除表的記錄。
DROP: 刪除數據表或數據庫。
INDEX: 建立或刪除索引。
INSERT: 增加表的記錄。
SELECT: 顯示/搜索表的記錄。
UPDATE: 修改表中已存在的記錄。特別的權限:
ALL: 允許做任何事(和root一樣)。
USAGE: 只允許登錄--其它什麼也不允許做。
六、MySQL命令示例、進階
----------------------------------------------------------------------------------------------------------------------- 顯示表格列的屬性:show columns from tableName;
建立數據庫:source fileName.txt;
匹配字符:可以用通配符_代表任何一個字符,%代表任何字符串;
增加一個字段:alter table tabelName add column fIEldName dateType;
增加多個字段:alter table tabelName add column fieldName1 dateType,add columns fIEldName2 dateType; 查詢時間:    select now();
查詢當前用戶:select user();
查詢數據庫版本:select version();
查詢當前使用的數據庫:select database();
1、刪除student_course數據庫中的students數據表:
rm -f student_course/students.* 2、備份數據庫:
備份數據庫test:MySQLdump -u root -p test>c:\test.txt
備份test數據庫下的mytable表格: MySQLdump -u root -p test mytable>c:\test.txt
將備份數據導入到數據庫(導回test數據庫): MySQL -u root -p test<c:\test.txt 3、創建臨時表zengchao
create temporary table zengchao(name varchar(10)); 4、創建表是先判斷表是否存在
create table if not exists students(……); 5、從已經有的表中復制表的結構
create table table2 select * from table1 where 1<>1; 6、復制表
create table table2 select * from table1; 7、對表重新命名
alter table table1 rename as table2; 8、修改列的類型
alter table table1 modify id int unsigned;//修改列id的類型為int unsigned
alter table table1 change id sid int unsigned;//修改列id的名字為sid,而且把屬性修改為int unsigned 9、創建索引
alter table table1 add index ind_id (id);
create index ind_id on table1 (id);
create unique index ind_id on table1 (id);//建立唯一性索引 10、刪除索引
drop index idx_id on table1;
alter table table1 drop index ind_id; 11、聯合字符或者多個列(將列id與":"和列name和"="連接)
select concat(id,':',name,'=') from students; 12、limit(選出10到20條)<第一個記錄集的編號是0>
select * from students order by id limit 9,10; 13、MySQL不支持的功能
事務,視圖,外鍵和引用完整性,存儲過程和觸發器 14、MySQL會使用索引的操作符號
<,<=,>=,>,=,between,in,不帶%或者_開頭的like 15、使用索引的缺點
1)減慢增刪改數據的速度;
2)占用磁盤空間;
3)增加查詢優化器的負擔;
當查詢優化器生成執行計劃時,會考慮索引,太多的索引會給查詢優化器增加工作量,導致無法選擇最優的查詢方案; 16、分析索引效率
方法:在一般的SQL語句前加上explain; 1)table:表名;
2)type:連接的類型,(ALL/Range/Ref)。其中ref是最理想的;
3)possible_keys:查詢可以利用的索引名;
4)key:實際使用的索引;
5)key_len:索引中被使用部分的長度(字節);
6)ref:顯示列名字或者"const"(不明白什麼意思);
7)rows:顯示MySQL認為在找到正確結果之前必須掃描的行數;
8)extra:MySQL的建議; 17、使用較短的定長列
1)盡可能使用較短的數據類型;
2)盡可能使用定長數據類型;
a)用char代替varchar,固定長度的數據處理比變長的快些;
b)對於頻繁修改的表,磁盤容易形成碎片,從而影響數據庫的整體性能;
c)萬一出現數據表崩潰,使用固定長度數據行的表更容易重新構造。使用固定長度的數據行,每個記錄的開始位置都是固定記錄長度的倍數,可以很容易被檢 測到,但是使用可變長度的數據行就不一定了;
d)對於MyISAM類型的數據表,雖然轉換成固定長度的數據列可以提高性能,但是占據的空間也大; 18、使用not null和enum
盡量將列定義為not null,這樣可使數據的出來更快,所需的空間更少,而且在查詢時,MySQL不需要檢查是否存在特例,即null值,從而優化查詢;
如果一列只含有有限數目的特定值,如性別,是否有效或者入學年份等,在這種情況下應該考慮將其轉換為enum列的值,MySQL處理的更快,因為所有 的enum值在系統內都是以標識數值來表示的; 19、使用optimize table
對於經常修改的表,容易產生碎片,使在查詢數據庫時必須讀取更多的磁盤塊,降低查詢性能。具有可變長的表都存在磁盤碎片問題,這個問題對blob數據 類型更為突出,因為其尺寸變化非常大。可以通過使用optimize table來整理碎片,保證數據庫性能不下降,優化那些受碎片影響的數據表。 optimize table可以用於MyISAM和BDB類型的數據表。實際上任何碎片整理方法都是用MySQLdump來轉存數據表,然後使用轉存後的文件並重新建數據 表; 20、使用procedure analyse()
可以使用procedure analyse()顯示最佳類型的建議,使用很簡單,在select語句後面加上procedure analyse()就可以了;例如:
select * from students procedure analyse();
select * from students procedure analyse(16,256);
第二條語句要求procedure analyse()不要建議含有多於16個值,或者含有多於256字節的enum類型,如果沒有限制,輸出可能會很長; 21、使用查詢緩存
1)查詢緩存的工作方式:
第一次執行某條select語句時,服務器記住該查詢的文本內容和查詢結果,存儲在緩存中,下次碰到這個語句時,直接從緩存中返回結果;當更新數據表 後,該數據表的任何緩存查詢都變成無效的,並且會被丟棄。
2)配置緩存參數:
變量:query_cache _type,查詢緩存的操作模式。有3中模式,0:不緩存;1:緩存查詢,除非與select sql_no_cache開頭;2:根據需要只緩存那些以select sql_cache開頭的查詢;query_cache_size:設置查詢緩存的最大結果集的大小,比這個值大的不會被緩存。 22、調整硬件
1)在機器上裝更多的內存;
2)增加更快的硬盤以減少I/O等待時間; 3)在不同的物理硬盤設備上重新分配磁盤活動;
如果可能,應將最繁忙的數據庫存放在不同的物理設備上,這跟使用同一物理設備的不同分區是不同的,因為它們將爭用相同的物理資源(磁頭)。

七、其它

----------------------------------------------------------------------------------------------------------------------- 1、多條命令用 “,” 分隔 ,一條命令可以分成多行輸入,直到出現分號”;”為止
MySQL> select version(),current_date();
MySQL>Select (20+5)*4;
MySQL>Select (20+5)*4,sin(pi()/3);
mysql>Select (20+5)*4 AS Result,sin(pi()/3); (AS: 指定假名為Result) 2、常用sql語句更新表中數據:MySQL>update MYTABLE set sex=”f” where name=’hyq’;
插入數據:    mysq>linsert into MYTABLE values (1, ‘第二章’, 0×2134545);
登錄MySQL:
mysql -u root -p MySQL
mysql -u root -p -h 11.11.11.11 database mysql jdbc連接url,使用中文:jdbc:MySQL://localhost/test?useUnicode=true&characterEncoding=gb2312 3、其它
show processlist;  列出每一筆聯機的信息。
show varlables;    列出MySQL的系統設定。
show tables from db_name;  列出db_name中所有數據表;
show [full] columns from table_name;  列出table_name中完整信息,如欄名、類型,包括字符集編碼。
show index from table_name;  列出table_name中所有的索引。
show table status;;  列出當前數據庫中數據表的信息。
show table status from db_name;;列出當前db_name中數據表的信息。
alter table table_name engine innodb|myisam|memory ;  更改表類型
explain table_name / describe table_name ;  列出table_name完整信息,如欄名、類型。
show create table table_name;  顯示當前表的建表語句
alter table table_name add primary key (picid) ;  向表中增加一個主鍵
alter table table_name add column userid int after picid;   修改表結構增加一個新的字段
alter table table_name character set gb2312;   改變表的編碼
select user(); 顯示當前用戶。
select passWord(’root’); 顯示當前用戶密碼
select now(); 顯示當前日期
flush privileges 在不重啟的情況下刷新用戶權限
MySQLd Cdefault-character-set=gb2312 ;設置默認字符集為gb2312八、Linux下MySQL安裝及使用 本文的Linux環境是 Red Hat 9.0,MySQL是4.0.16。 (二)、安裝Mysql 1、下載MySQL的安裝文件
從http://www.mysql.com/downloads/MySQL-4.0.Html下載安裝MySQL需要的如下兩個文件:
MySQL-server-4.0.16-0.i386.rpm   
MySQL-clIEnt-4.0.16-0.i386.rpm 2、安裝MySQL
rpm文件是Red Hat公司開發的軟件安裝包,rpm可讓Linux在安裝軟件包時免除許多復雜的手續。該命令在安裝時常用的參數是 Civh ,其中i表示將安裝指定的rmp軟件包,V表示安裝時的詳細信息,h表示在安裝期間出現“#”符號來顯示目前的安裝過程。這個符號將持續到安裝完成後才停止。 1)安裝服務器端
[root@test1 local]# rpm -ivh MySQL-server-4.0.16-0.i386.rpm warning: MySQL-server-4.0.16-0.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5
Preparing...      ########################################### [100%]
1:MySQL-server     ########################################### [100%] /usr/bin/MySQLadmin -u root password 'new-passWord'
/usr/bin/mysqladmin -u root -h test1 password 'new-passWord' Starting mysqld daemon with databases from /var/lib/mysql 如出現如上信息,服務端安裝完畢。測試是否成功可運行netstat看Mysql端口是否打開,如打開表示服務已經啟動,安裝成功。MySQL默認的端口是3306。
[root@test1 local]# netstat -nat
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address    Foreign Address   State   
tcp  0   0      0.0.0.0:3306     0.0.0.0:*      LISTEN   
上面顯示可以看出MySQL服務已經啟動。 2)安裝客戶端
[root@test1 local]# rpm -ivh MySQL-clIEnt-4.0.16-0.i386.rpm
warning: MySQL-clIEnt-4.0.16-0.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5
Preparing...  ########################################### [100%]
1:MySQL-clIEnt ########################################### [100%]
顯示安裝完畢。 (三)、登錄MySQL
mysql的初始管理帳號是root,沒有密碼。注意:這個root用戶不是Linux的系統用戶,而是MySQL默認用戶root!這個mysql命令的文件在/usr/bin目錄下,與後面講的啟動文件/etc/init.d/mysql不是一個文件。 (四)、MySQL的幾個重要目錄
MySQL的數據庫文件、配置文件和命令文件分別在不同的目錄,了解這些目錄非常重要,尤其對於Linux的初學者,因為 Linux本身的目錄結構就比較復雜,如果搞不清楚MySQL的安裝目錄那就無從談起深入學習。下面就介紹一下這幾個目錄。 1、數據庫目錄
/var/lib/MySQL/ 2、配置文件
/usr/share/mysql(MySQL.server命令及配置文件) 3、相關命令
/usr/bin(mysqladmin MySQLdump等命令) 4、啟動腳本
/etc/rc.d/init.d/(啟動腳本文件MySQL的目錄) (五)、修改登錄密碼
MySQL默認沒有密碼,安裝完畢增加密碼的重要性是不言而喻的。
1、命令
usr/bin/MySQLadmin -u root password 'new-passWord'
格式:MySQLadmin -u用戶名 -p舊密碼 passWord 新密碼
2、例子
例:給root加個密碼123456。 [root@test1 local]# /usr/bin/MySQLadmin -u root passWord 123456 (注:因為開始時root沒有密碼,所以-p舊密碼一項就可以省略了) (六)、啟動與停止
1、啟動
MySQL安裝完成後啟動文件MySQL在/etc/init.d目錄下,在需要啟動時運行下面命令即可。
[root@test1 init.d]# /etc/init.d/MySQL start 2、停止
/usr/bin/MySQLadmin -u root -p shutdown 3、自動啟動
1)察看MySQL是否在自動啟動列表中,        [root@test1 local]# /sbin/chkconfig Clist
2)把MySQL添加到你系統的啟動服務組裡面去,[root@test1 local]# /sbin/chkconfig C add MySQL
3)把MySQL從啟動服務組裡面刪除。          [root@test1 local]# /sbin/chkconfig C del MySQL
(七)、更改MySQL目錄 MySQL默認的數據文件存儲目錄為/var/lib/MySQL。假如要把目錄移到/home/data下需要進行下面幾步: 1、home目錄下建立data目錄
cd /home
mkdir data 2、把MySQL服務進程停掉:
mysqladmin -u root -p shutdown 3、把/var/lib/MySQL整個目錄移到/home/data
mv /var/lib/MySQL /home/data/
這樣就把MySQL的數據文件移動到了/home/data/MySQL下 4、找到my.cnf配置文件
如果/etc/目錄下沒有my.cnf配置文件,請到/usr/share/MySQL/下找到*.cnf文件,拷貝其中一個到/etc/並改名為 my.cnf)中。命令如下:
[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf 5、編輯MySQL的配置文件/etc/my.cnf
為保證MySQL能夠正常工作,需要指明mysql.sock文件的產生位置。 修改socket=/var/lib/mysql/mysql.sock一行中等號右邊的值為:/home/mysql/MySQL.sock 。操作如下:
vi my.cnf (用vi工具編輯my.cnf文件,找到下列數據修改之)
# The MySQL Server
[MySQLd]
port   = 3306
#socket = /var/lib/mysql/MySQL.sock(原內容,為了更穩妥用“#”注釋此行)
socket  = /home/data/mysql/mysql.sock   (加上此行) 6、修改MySQL啟動腳本/etc/rc.d/init.d/MySQL
最後,需要修改MySQL啟動腳本/etc/rc.d/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等號右邊 的路徑改成你現在的實際存放路徑:home/data/MySQL。
[root@test1 etc]# vi /etc/rc.d/init.d/MySQL
#datadir=/var/lib/MySQL    (注釋此行)
datadir=/home/data/mysql   (加上此行) 7、重新啟動MySQL服務
/etc/rc.d/init.d/MySQL start
或用reboot命令重啟Linux
如果工作正常移動就成功了,否則對照前面的7步再檢查一下。
(八)、MySQL操作 1、建表:
use 庫名;
create table 表名 (字段設定列表);
例如:在剛創建的aaa庫中建立表name,表中有id(序號,自動增長),xm(姓名),xb(性別),csny(出身年月)四個字段
use aaa;
MySQL> create table name (id int(3) auto_increment not null primary key, xm char(8),xb char(2),csny date);
可以用describe命令察看剛建立的表結構。
MySQL> describe name; +-------+---------+------+-----+---------+----------------+
| FIEld | Type  | Null | Key | Default | Extra     | | id  | int(3) |   | PRI | NULL  | auto_increment |
| xm  | char(8) | YES |   | NULL  |        |
| xb  | char(2) | YES |   | NULL  |        |
| csny | date  | YES |   | NULL  |        |
+-------+---------+------+-----+---------+----------------+ 2、增加記錄 MySQL> insert into name values('','張三','男','1971-10-01');
MySQL> insert into name values('','白雲','女','1972-05-20');
可用select命令來驗證結果。
MySQL> select * from name; | id | xm  | xb  | csny    | | 1 | 張三 | 男  | 1971-10-01 |
| 2 | 白雲 | 女  | 1972-05-20 |
+----+------+------+------------+ 3、修改紀錄
例如:將張三的出生年月改為1971-01-10
mysql> update name set csny='1971-01-10' where xm='張三'; 4、刪除紀錄 MySQL> delete from name where xm='張三'; 5、刪庫和刪表
drop database 庫名;
drop table 表名; (九)、增加MySQL用戶格式:grant select on 數據庫.* to 用戶名@登錄主機 identifIEd by "密碼"
例1、增加一個用戶user_1密碼為123,讓他可以在任何主機上登錄,並對所有數據庫有查詢、插入、修改、刪除的權限。首先用以root用戶連入 MySQL,然後鍵入以下命令: MySQL> grant select,insert,update,delete on *.* to user_1@"%" IdentifIEd by "123";
例1增加的用戶是十分危險的,如果知道了user_1的密碼,那麼他就可以在網上的任何一台電腦上登錄你的MySQL數據庫並對你的數據為所欲為了,解決 辦法見例2。例2、增加一個用戶user_2密碼為123,讓此用戶只可以在localhost上登錄,並可以對數據庫aaa進行查詢、插入、修改、刪除的操作 (localhost指本地主機,即MySQL數據庫所在的那台主機),這樣用戶即使用知道user_2的密碼,他也無法從網上直接訪問數據庫,只能通過 MYSQL主機來操作aaa庫。 mysql>grant select,insert,update,delete on aaa.* to user_2@localhost identifIEd by "123"; 用新增的用戶如果登錄不了MySQL,在登錄時用如下命令: mysql -u user_1 -p -h 192.168.113.50 (-h後跟的是要登錄主機的ip地址) (十)、備份與恢復 1、備份例如:將上例創建的aaa庫備份到文件back_aaa中 [root@test1 root]# cd /home/data/mysql (進入到庫目錄,本例庫已由val/lib/mysql轉到/home/data/MySQL,見上述第七部分 內容)
[root@test1 mysql]# mysqldump -u root -p --opt aaa > back_aaa 2、恢復 [root@test mysql]# MySQL -u root -p ccc < back_aaa
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved