官术网_书友最值得收藏!

5.4 MySQL常用操作

本節從連接MySQL數據庫服務器、修改密碼、增加用戶等方面來講述一些MySQL的常用命令。

5.4.1 連接MySQL服務器

連接MySQL服務器可以使用如下命令:

    mysql -h主機地址 -u用戶名 -p用戶密碼

其中,各參數的意義如下:

● -h:用戶欲連接的數據庫服務器IP地址;

● -u:連接數據庫服務器使用的用戶名;

● -p:連接數據庫服務器使用的密碼。

例如用戶若想連接到本機上的MySQL,則可按照如下步驟操作:

(1)打開終端(命令行方式),進入目錄mysql/bin;

(2)鍵入命令mysql -uroot -p,回車后根據系統提示輸入密碼;

(3)如果剛安裝好MySQL,超級用戶root是沒有密碼的,故直接回車即可進入到MySQL了,系統將顯示MySQL的提示符“mysql>”

若用戶欲連接到遠程主機上的MySQL,假設遠程主機的IP為:159.226.49.5,用戶名為mysql,密碼為mysql。則鍵入以下命令:

    #mysql -h 159.226.49.5 -u mysql -p mysql

5.4.2 退出MySQL服務器

退出MySQL非常簡單,使用exit命令即可,命令格式如下:

    #exit

5.4.3 密碼管理

數據庫系統還可以對用戶密碼進行管理,用戶可以添加密碼,也可以修改密碼。若用戶原來沒有設置密碼,需要增加密碼,可以使用帶password參數的mysqladmin命令,命令格式如下:

    mysqladmin -u 用戶名 password 新密碼

例如給Linux的root賬戶訪問數據庫加個密碼ab12的操作步驟如下:

首先在終端下進入目錄mysql/bin;

然后鍵入以下命令:mysqladmin -uroot -password ab12。

如果用戶已經設置了密碼而想要更改密碼,可以使用帶-p參數和password參數的mysqladmin命令,該命令格式如下:

    mysqladmin -u用戶名 -p舊密碼 password 新密碼

例如:將上述root用戶的密碼更改為cd34,命令格式如下:

    mysqladmin -uroot -pab12 password cd34

5.4.4 增加新用戶

為數據庫系統添加新用戶,并賦予該用戶對數據庫一定的訪問權限,使用grant命令。grant命令格式如下:

    grant 權限 on 數據庫.* to 用戶名@登錄主機 identified by \"密碼\";

該命令實現的功能就是讓某個用戶可以通過密碼在特定主機上對特定數據庫有特定訪問權限。

例如:若欲增加一個用戶gong,密碼為cai,該用戶可以在任何主機上登錄數據庫,并對所有數據庫有查詢、插入、修改、刪除的權限,那么要按照如下步驟操作:

首先用以root用戶連入MySQL。

然后鍵入如下命令:

    grant select,insert,update,delete on *.* to gong@\"%\" Identified by \"cai\";

為了安全起見,可以設置用戶只能在本地主機上對數據庫進行相關操作。例如可以為數據庫系統增加一個用戶gong2,密碼為chun,只允許在安裝MySQL數據庫系統的主機上登錄,并可以對數據庫系統中所有數據進行查詢、插入、修改、刪除的操作。這樣,非法用戶即使通過某些非法手段盜取了gong2的密碼,他也無法從Internet上直接訪問數據庫,而只能通過MySQL所在主機上的Web頁來訪問了。若要實現這樣的功能,可以使用如下命令:

    grant select,insert,update,delete on *.* to gong2@localhost identified by \"chun\";

若不想讓gong2擁有密碼,可以使用如下命令實現:

    grant select,insert,update,delete on *.* to gong2@localhost identified by \"\";

5.4.5 命令分行

MySQL的命令是使用分號作為命令結束標志的,所以若用戶輸入命令時,回車后發現忘記加分號,則命令并不會被提交給系統執行,需要用戶輸入一個分號。當輸入分號并回車后命令才提交給數據庫系統執行。正因為如此,用戶可以把一個完整的命令分成幾行來輸入,輸入完成后用分號作結束標志就可以提交。

5.4.6 命令歷史記錄

為了方便用戶命令的輸入,MySQL保存了用戶輸入命令的歷史記錄。用戶可以使用光標上下鍵調出以前輸入過的命令。

5.4.7 顯示數據庫列表

可以使用show database命令顯示數據庫系統中的數據庫列表。該命令的格式為:

    show databases;

系統初始有兩個數據庫:MySQL和test。MySQL數據庫很重要,因為其保存了MySQL的系統信息,如數據字典,用戶及其密碼等信息都保存在MySQL數據庫中。用戶修改密碼和新增用戶等操作,實際上就是對這個數據庫的數據進行操作。

5.4.8 顯示數據庫中的數據表

若欲顯示庫中的數據表,首先必須先打開數據庫,打開數據庫使用use命令,use命令的用法如下:

    use 數據庫名;

打開數據庫以后就可以顯示數據庫中所有的表了。顯示數據庫含有的表使用show tables命令。該命令用法如下:

    show tables;

5.4.9 顯示數據表的表結構

顯示數據表的結構使用describe命令,該命令顯示數據表包含哪些屬性,每個屬性是什么數據類型,占用多少空間等信息。該命令的用法如下:

    describe 表名;

5.4.10 新建數據庫

新建數據庫使用create database命令。該命令非常簡單,用法如下:

    create database 庫名;

例如,若要查看系統中是否有school數據庫,如果存在,則刪除該數據庫,然后再新建school數據庫,如果系統中沒有school數據庫,則直接新建該數據庫。欲實面該功能,可以在MySQL中使用如下命令:

    //先判斷是否存在school數據庫,如果存在則刪除該數據庫
    drop database if exists school;
    create database school;       //建立庫school

5.4.11 新建數據庫表

新建數據庫表也要先打開數據庫,打開數據庫也是use命令,打開數據庫后就可以使用create table命令新建表了。create table命令用法如下:

    create table 表名 (字段設定列表) ;

例如,若要往上述新建的school數據庫中添加一個student的表,可以使用如下命令:

    //打開數據庫school
    use school;
    //新建student表
    create table student
    (  id         int(3)     auto_increment not null primary key,//學生證號碼
        name       char(10)     not null,                            //學生姓名
        age        int(2)       not null,                            //學生年齡
        address    varchar(50)  default ‘北京’,                    //學生地址
        entertime  date                                               //入學時間
    );

5.4.12 刪除庫和刪除表

刪除數據庫或表使用drop命令。刪除數據庫使用drop database命令,刪除表使用drop table命令。這兩個命令的用法如下:

    drop database 庫名;
    drop table 表名;

例如,如果用戶想要刪除上述建立的表student,可以使用下述命令:

    drop table student;

如果用戶欲刪除上述建立的數據庫school,可以使用下述命令:

    drop database  school;

5.4.13 將表中記錄清空

將表中記錄清空使用delete命令,該命令的用法如下:

    delete from 表名;

將上述student表中所有年齡大于25的學生記錄刪除,可以使用下述命令:

    delete from student
    where age >25;

5.4.14 顯示表的記錄

顯示表中的記錄使用select命令。select命令用法如下:

    select * from 表名
    where 條件;

例如,若要顯示上述表student中年齡大于25的所有學生記錄,可以使用如下命令:

    select *
    from student
    where age >25 ;

5.4.15 向表中插入記錄

向表中插入記錄,使用insert命令。insert命令的用法如下:

    insert into 表名
    屬性1,屬性2…屬性n
    values( 屬性1的值,屬性2的值…屬性n的值);

例如向上述student表添加一條學生記錄,姓名為“張三”,年齡為25,地址為“北京市海淀區”,入學年齡為2005年7月18日,使用的命令如下:

    insert into student
    age , address , entertime
    values(25 , ‘北京市海淀區’, 2005-07-18) ;

5.4.16 MySQL數據導入和備份

本節主要介紹如何使用MySQL進行數據的導入以及備份數據庫。

1.將文本數據導入到數據庫中

把文本數據導入到數據庫中,必須保證文本數據符合特定的格式。表字段數據之間用制表符(Tab)隔開,空值用\\n來代替。如果文本數據不符合這個格式,將導致數據導入失敗。

導入文本數據使用如下命令:

    load data local infile \"文件名\" into table 表名;

例如,對于上述的student數據庫表,假如有一個student.txt文件,文件內容如下:

3.龔靜嫻23北京中關村1999-10-10

4.郭志清26廣州海大 2004-12-20

要將該文件內容導入到數據庫表student中,使用命令如下:

    load data local infile \"student.txt\" into table  student;

如果導入正常,使用select命令將可以顯示新導入的兩行記錄。

2.備份數據庫

使用終端的mysqldump命令備份數據庫,該命令的用法如下:

    mysqldump --opt 數據庫名>文本文件名

例如,要將上述建立的school數據庫保存到school.db文本文件中,可以使用如下命令:

    mysqldump --opt school>school.db
主站蜘蛛池模板: 玉田县| 蒙山县| 集安市| 沂南县| 万源市| 宁蒗| 宜良县| 黄大仙区| 临武县| 宝兴县| 集贤县| 和平县| 汉源县| 白银市| 宜良县| 松江区| 六安市| 青岛市| 财经| 芦山县| 鹰潭市| 桦川县| 改则县| 西安市| 龙南县| 理塘县| 历史| 济阳县| 沙湾县| 井陉县| 遂川县| 诏安县| 朔州市| 扎鲁特旗| 钦州市| 宁南县| 修文县| 黔南| 淅川县| 尉氏县| 塘沽区|