posts - 495,  comments - 11,  trackbacks - 0


          net start mysql???????????? 啟動數(shù)據(jù)庫

          net start mysql???????????? 關(guān)閉數(shù)據(jù)庫

          mysql -u用戶名 -p密碼?????? 連接數(shù)據(jù)庫

          show databases?????????????? 找出服務(wù)器上當(dāng)前存在什么數(shù)據(jù)庫



          一、連接MYSQL。


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


          1、例1:連接到本機上的MYSQL。


          首先在打開DOS窗口,然后進入目錄 mysqlbin,再鍵入命令mysql -uroot -p,回車后提示你輸密碼,如果剛安裝好MYSQL,超級用戶root

          是沒有密碼的,故直接回車即可進入到MYSQL中了,MYSQL的提示符是:mysql>


          2、例2:連接到遠程主機上的MYSQL。假設(shè)遠程主機的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下進入目錄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 用戶名@登錄主機 identified by \"密碼\"


          例1、增加一個用戶test1密碼為abc,讓他可以在任何主機上登錄,并對所有數(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進行查詢、插入、修改、刪除的操作

          (localhost指本地主機,即MYSQL數(shù)據(jù)庫所在的那臺主機),這樣用戶即使用知道test2的密碼,他也無法從internet上直接訪問數(shù)據(jù)庫,

          只能通過MYSQL主機上的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的提示符下進行的,而且每個命令以分號結(jié)束。


          一、操作技巧


          1、如果你打命令時,回車后發(fā)現(xiàn)忘記加分號,你無須重打一遍命令,只要打個分號回車就可以了。也就是說你可以把一個完整的命令分成

          幾行來打,完后用分號作結(jié)束標(biāo)志就OK。


          2、你可以使用光標(biāo)上下鍵調(diào)出以前的命令。但以前我用過的一個MYSQL舊版本不支持。我現(xiàn)在用的是mysql-3.23.27-beta-win。


          二、顯示命令


          1、顯示數(shù)據(jù)庫列表。


          show databases;


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


          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('','glchengang','深圳一中','1976-10-10');


          insert into teacher values('','jack','深圳一中','1975-12-23');


          注:在建表中(1)將ID設(shè)為長度為3的數(shù)字字段:int(3)并讓它每個記錄自動加一:auto_increment并不能為空:not null而且讓他成為主字

          段primary key(2)將NAME設(shè)為長度為10的字符字段(3)將ADDRESS設(shè)為長度50的字符字段,而且缺省值為深圳。varchar和char有什么區(qū)

          別呢,只有等以后的文章再說了。(4)將YEAR設(shè)為日期字段。


          如果你在mysql提示符鍵入上面的命令也可以,但不方便調(diào)試。你可以將以上命令原樣寫入一個文本文件中假設(shè)為school.sql,然后復(fù)制到

          c:\\下,并在DOS狀態(tài)進入目錄\\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 rose 深圳二中 1976-10-10


          4 mike 深圳一中 1975-12-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)。


          SQL常用命令使用方法:

          (1) 數(shù)據(jù)記錄篩選:

          sql="select * from 數(shù)據(jù)表 where 字段名=字段值 order by 字段名 [desc]"

          sql="select * from 數(shù)據(jù)表 where 字段名 like %字段值% order by 字段名 [desc]"

          sql="select top 10 * from 數(shù)據(jù)表 where 字段名 order by 字段名 [desc]"

          sql="select * from 數(shù)據(jù)表 where 字段名 in ( 值1 , 值2 , 值3 )"

          sql="select * from 數(shù)據(jù)表 where 字段名 between 值1 and 值2"

          (2) 更新數(shù)據(jù)記錄:

          sql="update 數(shù)據(jù)表 set 字段名=字段值 where 條件表達式"

          sql="update 數(shù)據(jù)表 set 字段1=值1,字段2=值2 …… 字段n=值n where 條件表達式"

          (3) 刪除數(shù)據(jù)記錄:

          sql="delete from 數(shù)據(jù)表 where 條件表達式"

          sql="delete from 數(shù)據(jù)表" (將數(shù)據(jù)表所有記錄刪除)

          (4) 添加數(shù)據(jù)記錄:

          sql="insert into 數(shù)據(jù)表 (字段1,字段2,字段3 …) valuess (值1,值2,值3 …)"

          sql="insert into 目標(biāo)數(shù)據(jù)表 select * from 源數(shù)據(jù)表" (把源數(shù)據(jù)表的記錄添加到目標(biāo)數(shù)據(jù)表)

          (5) 數(shù)據(jù)記錄統(tǒng)計函數(shù):

          AVG(字段名) 得出一個表格欄平均值
          COUNT(*|字段名) 對數(shù)據(jù)行數(shù)的統(tǒng)計或?qū)δ骋粰谟兄档臄?shù)據(jù)行數(shù)統(tǒng)計
          MAX(字段名) 取得一個表格欄最大的值
          MIN(字段名) 取得一個表格欄最小的值
          SUM(字段名) 把數(shù)據(jù)欄的值相加

          引用以上函數(shù)的方法:

          sql="select sum(字段名) as 別名 from 數(shù)據(jù)表 where 條件表達式"
          set rs=conn.excute(sql)

          用 rs("別名") 獲取統(tǒng)的計值,其它函數(shù)運用同上。

          (6) 數(shù)據(jù)表的建立和刪除:

          Create TABLE 數(shù)據(jù)表名稱(字段1 類型1(長度),字段2 類型2(長度) …… )

          例:Create TABLE tab01(name varchar(50),datetime default now())

          Drop TABLE 數(shù)據(jù)表名稱 (永久性刪除一個數(shù)據(jù)表)

          (7)記錄集對象的方法:

          rs.movenext 將記錄指針從當(dāng)前的位置向下移一行
          rs.moveprevious 將記錄指針從當(dāng)前的位置向上移一行
          rs.movefirst 將記錄指針移到數(shù)據(jù)表第一行
          rs.movelast 將記錄指針移到數(shù)據(jù)表最后一行
          rs.absoluteposition=N 將記錄指針移到數(shù)據(jù)表第N行
          rs.absolutepage=N 將記錄指針移到第N頁的第一行
          rs.pagesize=N 設(shè)置每頁為N條記錄
          rs.pagecount 根據(jù) pagesize 的設(shè)置返回總頁數(shù)
          rs.recordcount 返回記錄總數(shù)
          rs.bof 返回記錄指針是否超出數(shù)據(jù)表首端,true表示是,false為否
          rs.eof 返回記錄指針是否超出數(shù)據(jù)表末端,true表示是,false為否
          rs.delete 刪除當(dāng)前記錄,但記錄指針不會向下移動
          rs.addnew 添加記錄到數(shù)據(jù)表末端
          rs.update 更新數(shù)據(jù)表記錄

          posted on 2007-09-11 20:53 jadmin 閱讀(52) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 安顺市| 兴国县| 银川市| 陆丰市| 白银市| 广宗县| 香格里拉县| 左贡县| 安达市| 同江市| 铜陵市| 罗江县| 通江县| 肇庆市| 保靖县| 城口县| 巨野县| 荥阳市| 故城县| 商都县| 新闻| 玛多县| 潮州市| 缙云县| 岗巴县| 江陵县| 安徽省| 六枝特区| 深圳市| 吉木乃县| 马尔康县| 敦化市| 抚远县| 平原县| 延安市| 穆棱市| 肥西县| 柳州市| 天门市| 陆河县| 镇远县|