Kimi's NutShell

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

          BlogJava 新隨筆 管理
            141 Posts :: 0 Stories :: 75 Comments :: 0 Trackbacks
          MySQL數(shù)據(jù)庫(kù)的基本操作 [ 轉(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,超級(jí)用戶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加個(gè)密碼ab12。首先在DOS下進(jìn)入目錄mysqlbin,然后鍵入以下命令
             mysqladmin -uroot -password ab12

            注:因?yàn)殚_始時(shí)root沒有密碼,所以-p舊密碼一項(xiàng)就可以省略了。

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

          三、增加新用戶(注意:和上面不同,下面的因?yàn)槭荕YSQL環(huán)境中的命令,所以后面都帶一個(gè)分號(hào)作為命令結(jié)束符)

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

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

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

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

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


          四、操作技巧

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

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

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

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

            4、建庫(kù):
             create database 庫(kù)名;

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

            6、刪庫(kù)和刪表:
             drop database 庫(kù)名;
             drop table 表名;

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

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

          ?

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

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

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

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

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

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

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

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

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

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

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

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

          評(píng)論

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

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

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

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

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

          主站蜘蛛池模板: 平利县| 新巴尔虎左旗| 封丘县| 庆阳市| 武平县| 五家渠市| 名山县| 隆林| 遂平县| 汉川市| 共和县| 江门市| 瑞丽市| 虹口区| 安仁县| 老河口市| 大连市| 漳平市| 庆安县| 高邮市| 大悟县| 阜宁县| 南投县| 疏附县| 定安县| 长寿区| 潢川县| 鞍山市| 万山特区| 西乌| 林口县| 吉木萨尔县| 四会市| 广灵县| 棋牌| 津市市| 南充市| 民勤县| 伊川县| 儋州市| 河源市|