Kimi's NutShell

          我荒廢的今日,正是昨日殞身之人祈求的明日

          BlogJava 新隨筆 管理
            141 Posts :: 0 Stories :: 75 Comments :: 0 Trackbacks
          MySQL數(shù)據(jù)庫的基本操作 [ 轉(zhuǎn)載 ]


          一、連接MYSQL

            格式: mysql -h主機(jī)地址 -u用戶名 -p用戶密碼

            1、例1:連接到本機(jī)上的MYSQL。

            首先在打開DOS窗口,然后進(jìn)入目錄 mysqlbin,再鍵入命令mysql -h localhost -u root -p+回車,也可以鍵入命令mysql -u root -p,回車后提示你輸密碼,如果剛安裝好MYSQL,超級用戶root是沒有密碼的,故直接回車即可進(jìn)入到MYSQL中了,MYSQL的提示符是:mysql>

            2、例2:連接到遠(yuǎn)程主機(jī)上的MYSQL。假設(shè)遠(yuǎn)程主機(jī)的IP為:110.110.110.110,用戶名為root,密碼為abcd123。則鍵入以下命令:
             mysql -h110.110.110.110 -uroot -pabcd123

            (注:u與root可以不用加空格,其它也一樣)

            3、退出MYSQL命令: exit (回車)

          二、修改密碼

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

            1、例1:給root加個密碼ab12。首先在DOS下進(jìn)入目錄mysqlbin,然后鍵入以下命令
             mysqladmin -uroot -password ab12

            注:因為開始時root沒有密碼,所以-p舊密碼一項就可以省略了。

            2、例2:再將root的密碼改為djg345。
             mysqladmin -uroot -pab12 password djg345

          三、增加新用戶(注意:和上面不同,下面的因為是MYSQL環(huán)境中的命令,所以后面都帶一個分號作為命令結(jié)束符)

            格式:grant select on 數(shù)據(jù)庫.* to 用戶名@登錄主機(jī) identified by "密碼"

            例1、增加一個用戶test1密碼為abc,讓他可以在任何主機(jī)上登錄,并對所有數(shù)據(jù)庫有查詢、插入、修改、刪除的權(quán)限。首先用以root用戶連入MYSQL,然后鍵入以下命令:
             grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";
             但例1增加的用戶是十分危險的,你想如某個人知道test1的密碼,那么他就可以在internet上的任何一臺電腦上登錄你的mysql數(shù)據(jù)庫并對你的數(shù)據(jù)可以為所欲為了,解決辦法見例2。

            例2、增加一個用戶test2密碼為abc,讓他只可以在localhost上登錄,并可以對數(shù)據(jù)庫mydb進(jìn)行查詢、插入、修改、刪除的操作(localhost指本地主機(jī),即MYSQL數(shù)據(jù)庫所在的那臺主機(jī)),這樣用戶即使用知道test2的密碼,他也無法從internet上直接訪問數(shù)據(jù)庫,只能通過MYSQL主機(jī)上的web頁來訪問了。
             grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc";

            如果你不想test2有密碼,可以再打一個命令將密碼消掉。
             grant select,insert,update,delete on mydb.* to test2@localhost identified by "";

            下面來看看MYSQL中有關(guān)數(shù)據(jù)庫方面的操作。注意:必須首先登錄到MYSQL中,以下操作都是在MYSQL的提示符下進(jìn)行的,而且每個命令以分號結(jié)束。


          四、操作技巧

            1、如果你打命令時,回車后發(fā)現(xiàn)忘記加分號,你無須重打一遍命令,只要打個分號回車就可以了。也就是說你可以把一個完整的命令分成幾行來打,完后用分號作結(jié)束標(biāo)志就OK。
          五、顯示命令

            1、顯示數(shù)據(jù)庫列表。
             show databases;
             剛開始時才兩個數(shù)據(jù)庫:mysql和test。mysql庫很重要它里面有MYSQL的系統(tǒng)信息,我們改密碼和新增用戶,實際上就是用這個庫進(jìn)行操作。

            2、顯示庫中的數(shù)據(jù)表:
             use mysql; //打開庫,學(xué)過FOXBASE的一定不會陌生吧
             show tables;

            3、顯示數(shù)據(jù)表的結(jié)構(gòu):
             describe 表名;

            4、建庫:
             create database 庫名;

            5、建表:
             use 庫名;
             create table 表名 (字段設(shè)定列表);

            6、刪庫和刪表:
             drop database 庫名;
             drop table 表名;

            7、將表中記錄清空:
             delete from 表名;

            8、顯示表中的記錄:
             select * from 表名;

          ?

          六、一個建庫和建表以及插入數(shù)據(jù)的實例

          drop database if exists school; //如果存在SCHOOL則刪除
          create database school; //建立庫SCHOOL
          use school; //打開庫SCHOOL
          create table teacher //建立表TEACHER
          (
          id int(3) auto_increment not null primary key,
          name char(10) not null,
          address varchar(50) default '南陽',
          year date
          ); //建表結(jié)束
          //以下為插入字段
          insert into teacher values(','xuefeng','南陽理工,'1984-05-27');
          insert into teacher values(','huifan','杞縣高中','1985-07-23');

          注:在建表中:
          1.將ID設(shè)為長度為3的數(shù)字字段:int(3)并讓它每個記錄自動加一:auto_increment并不能為空:not null而且讓他成為主字段primary key。
          2.將NAME設(shè)為長度為10的字符字段。
          3.將ADDRESS設(shè)為長度50的字符字段,而且缺省值為'南陽'。  
          4.將YEAR設(shè)為日期字段。

          如果你在mysql提示符鍵入上面的命令也可以,但不方便調(diào)試。你可以將以上命令原樣寫入一個文本文件中假設(shè)為school.sql,然后復(fù)制到c:\下,并在DOS狀態(tài)進(jìn)入目錄\mysql\bin,然后鍵入以下命令:

             mysql -uroot -p密碼 < c:\school.sql

          如果成功,空出一行無任何顯示;如有錯誤,會有提示。(以上命令已經(jīng)調(diào)試,你只要將//的注釋去掉即可使用)。

          七、將文本數(shù)據(jù)轉(zhuǎn)到數(shù)據(jù)庫中

            1、文本數(shù)據(jù)應(yīng)符合的格式:字段數(shù)據(jù)之間用tab鍵隔開,null值用\n來代替.
             例:
              3 yanzi 南陽師院 1984-05-27
              4 mike 南陽七中 1985-07-23

            2、數(shù)據(jù)傳入命令 load data local infile "文件名" into table 表名;
             注意:你最好將文件復(fù)制到\mysql\bin目錄下,并且要先用use命令打表所在的庫 。

          八、備份數(shù)據(jù)庫:(命令在DOS的\mysql\bin目錄下執(zhí)行)

            mysqldump --opt school>school.bbb
             注釋:將數(shù)據(jù)庫school備份到school.bbb文件,school.bbb是一個文本文件,文件名任取,打開看看你會有新發(fā)現(xiàn)。

          posted on 2007-04-04 15:34 Kimi 閱讀(425) 評論(5)  編輯  收藏 所屬分類: Database

          評論

          # re: MySQL 基本操作---丟了很久,今天又撿起來了,呵呵。玩具性的數(shù)據(jù)庫,不過做點小程序還是蠻好的! 2007-12-14 13:17 Alit
          可惜。就這樣的小玩具一年也有幾千萬的收入  回復(fù)  更多評論
            

          # re: MySQL 基本操作---丟了很久,今天又撿起來了,呵呵。玩具性的數(shù)據(jù)庫,不過做點小程序還是蠻好的! 2007-12-18 10:35 Kimi
          是啊,這個做DEMO挺好的  回復(fù)  更多評論
            

          # re: MySQL 基本操作---丟了很久,今天又撿起來了,呵呵。玩具性的數(shù)據(jù)庫,不過做點小程序還是蠻好的![未登錄] 2008-02-26 16:04 aaaaa
          很可惜,yahoo這么大的網(wǎng)站,竟然用的是玩具數(shù)據(jù)庫  回復(fù)  更多評論
            

          # re: MySQL 基本操作---丟了很久,今天又撿起來了,呵呵。玩具性的數(shù)據(jù)庫,不過做點小程序還是蠻好的![未登錄] 2008-02-26 16:05 aaaaa
          建議你轉(zhuǎn)db2或者其他吧,不要玩玩具了  回復(fù)  更多評論
            

          # re: MySQL 基本操作---丟了很久,今天又撿起來了,呵呵。玩具性的數(shù)據(jù)庫,不過做點小程序還是蠻好的! 2008-03-04 11:40 Kimi
          赫赫,上面的老兄,我意思是說相對而言,沒有打擊任何技術(shù)成果的意思。
          比起Oracle而言,沒有可比性。希望Mysql在Sun領(lǐng)導(dǎo)下更好!  回復(fù)  更多評論
            

          主站蜘蛛池模板: 庆城县| 西乌| 承德市| 芦山县| 扎囊县| 鲁山县| 泾源县| 苍南县| 闽侯县| 罗江县| 涪陵区| 德阳市| 汉源县| 田东县| 射洪县| 民勤县| 永福县| 册亨县| 慈溪市| 定兴县| 达日县| 汤阴县| 呼伦贝尔市| 灵台县| 烟台市| 张北县| 白朗县| 二连浩特市| 吴堡县| 长垣县| 西宁市| 镇赉县| 蓬溪县| 霍城县| 南昌县| 泉州市| 淮阳县| 平利县| 屏东县| 清涧县| 沾益县|