Mysql語法文檔參考模板_第1頁
Mysql語法文檔參考模板_第2頁
Mysql語法文檔參考模板_第3頁
Mysql語法文檔參考模板_第4頁
Mysql語法文檔參考模板_第5頁
已閱讀5頁,還剩18頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Mysql常用命令show databases; 顯示數據庫create database name; 創建數據庫use databasename; 選擇數據庫drop database name 直接刪除數據庫,不提醒show tables; 顯示表describe tablename; 顯示具體的表結構select 中加上distinct去除重復字段mysqladmin drop databasename 刪除數據庫前,有提示。顯示當前mysql版本和當前日期select version(),current_date;修改mysql中root的密碼:shell>mysql -h lo

2、calhost -u root -p /登錄mysql> update user set password=password("xueok654123") where user='root'mysql> flush privileges /刷新數據庫mysql>use dbname; 打開數據庫:mysql>show databases; 顯示所有數據庫mysql>show tables; 顯示數據庫mysql中所有的表:先use mysql;然后mysql>describe user; 顯示表mysql數據庫中user表

3、的列信息);grant創建用戶firstdb(密碼firstdb)和數據庫,并賦予權限于firstdb數據庫mysql> create database firstdb;mysql> grant all on firstdb.* to firstdb identified by 'firstdb'會自動創建用戶firstdbmysql默認的是本地主機是localhost,對應的IP地址就是,所以你用你的IP地址登錄會出錯,如果你想用你的IP地址登錄就要先進行授權用grant命令。mysql>grant all on *.* to root20

4、 identified by "123456"說明:grant 與on 之間是各種權限,例如:insert,select,update等on 之后是數據庫名和表名,第一個*表示所有的數據庫,第二個*表示所有的表root可以改成你的用戶名,后可以跟域名或IP地址,identified by 后面的是登錄用的密碼,可以省略,即缺省密碼或者叫空密碼。drop database firstdb;創建一個可以從任何地方連接服務器的一個完全的超級用戶,但是必須使用一個口令something做這個mysql> grant all privileges on *.

5、* to userlocalhost identified by 'something' with增加新用戶格式:grant select on 數據庫.* to 用戶名登錄主機 identified by "密碼"GRANT ALL PRIVILEGES ON *.* TO montylocalhost IDENTIFIED BY 'something' WITH GRANT OPTION;GRANT ALL PRIVILEGES ON *.* TO monty"%" IDENTIFIED BY 'somethi

6、ng' WITH GRANT OPTION;刪除授權:mysql> revoke all privileges on *.* from root"%"mysql> delete from user where user="root" and host="%"1 / 23mysql> flush privileges;創建一個用戶custom在特定客戶端登錄,可訪問特定數據庫fangchandbmysql >grant select, insert, update, delete, create,drop

7、 on fangchandb.* to custom identified by ' passwd'重命名表:mysql > alter table t1 rename t2;mysqldump備份數據庫shell> mysqldump -h host -u root -p dbname >dbname_backup.sql恢復數據庫shell> mysqladmin -h myhost -u root -p create dbnameshell> mysqldump -h host -u root -p dbname < dbname_ba

8、ckup.sql如果只想卸出建表指令,則命令如下:shell> mysqladmin -u root -p -d databasename > a.sql如果只想卸出插入數據的sql命令,而不需要建表命令,則命令如下:shell> mysqladmin -u root -p -t databasename > a.sql那么如果我只想要數據,而不想要什么sql命令時,應該如何操作呢?mysqldump -T./ phptest driver其中,只有指定了-T參數才可以卸出純文本文件,表示卸出數據的目錄,./表示當前目錄,即與mysqldump同一目錄。如果不指定dri

9、ver表,則將卸出整個數據庫的數據。每個表會生成兩個文件,一個為.sql文件,包含建表執行。另一個為.txt文件,只包含數據,且沒有sql指令。可將查詢存儲在一個文件中并告訴mysql從文件中讀取查詢而不是等待鍵盤輸入。可利用外殼程序鍵入重定向實用程序來完成這項工作。例如,如果在文件my_file.sql 中存放有查詢,可如下執行這些查詢:例如,如果您想將建表語句提前寫在sql.txt中,mysql > mysql -h myhost -u root -pMysql5.0支持的字符集MySQL中的字符集控制做得比較細,可以分為數據庫級,表級, 字段級(這一點和ORACLE不同)。我上次改

10、的字符集是數據庫級的,對表sysuser沒有影響,所以出現了改了字符集卻一樣無法插入中文的情況。Drop TABLE IF EXISTS firstdb.users;Create TABLE firstdb.users (id int(11) NOT NULL auto_increment,username varchar(40) default NULL,birthday date default NULL,PRIMARY KEY (id) ENGINE=InnoDB DEFAULT CHARSET=gb2312;編譯 MySQL 時,指定了一個默認的字符集,這個字符集是 latin1;安裝

11、 MySQL 時,可以在配置文件 (my.ini) 中指定一個默認的的字符集,如果沒指定,這個值繼承自編譯時指定的;啟動 mysqld 時,可以在命令行參數中指定一個默認的的字符集,如果沒指定,這個值繼承自配置文件中的;此時 character_set_server 被設定為這個默認的字符集;當創建一個新的數據庫時,除非明確指定,這個數據庫的字符集被缺省設定為 character_set_server;當選定了一個數據庫時,character_set_database 被設定為這個數據庫默認的字符集;在這個數據庫里創建一張表時,表默認的字符集被設定為 character_set_databas

12、e,也就是這個數據庫默認的字符集;當在表內設置一欄時,除非明確指定,否則此欄缺省的字符集就是表默認的字符集;這個字符集就是數據庫中實際存儲數據采用的字符集,mysqldump 出來的內容就是這個字符集下的;Query Browser1.1 對中文輸入的支持太差勁了,可以用notebook寫好后,再copy過去執行update firstdb.users set username='以' where id=3;MYSQL 常用命令1.導出整個數據庫mysqldump -u 用戶名 -p -default-character-set=latin1 數據庫名 > 導出的文件名(

13、數據庫默認編碼是latin1)mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql2.導出一個表mysqldump -u 用戶名 -p 數據庫名 表名> 導出的文件名mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql3.導出一個數據庫結構mysqldump -u wcnc -p -d -add-drop-table smgp_apps_wcnc >d:wcnc_db.sql-d 沒有數據 -add-drop-table 在每個create語句之前增加一個drop ta

14、ble4.導入數據庫A:常用source 命令進入mysql數據庫控制臺,如mysql -u root -pmysql>use 數據庫然后使用source命令,后面參數為腳本文件(如這里用到的.sql)mysql>source wcnc_db.sqlB:使用mysqldump命令mysqldump -u username -p dbname < filename.sqlC:使用mysql命令mysql -u username -p -D dbname < filename.sql一、啟動與退出1、進入MySQL:啟動MySQL Command Line Client(M

15、ySQL的DOS界面),直接輸入安裝時的密碼即可。此時的提示符是:mysql>2、退出MySQL:quit或exit二、庫操作1、創建數據庫命令:create database <數據庫名>例如:建立一個名為xhkdb的數據庫mysql> create database xhkdb;2、顯示所有的數據庫命令:show databases (注意:最后有個s)mysql> show databases;3、刪除數據庫命令:drop database <數據庫名>例如:刪除名為 xhkdb的數據庫mysql> drop database xhkdb;

16、4、連接數據庫命令: use <數據庫名>例如:如果xhkdb數據庫存在,嘗試存取它:mysql> use xhkdb;屏幕提示:Database changed5、查看當前使用的數據庫mysql> select database();6、當前數據庫包含的表信息:mysql> show tables; (注意:最后有個s)三、表操作,操作之前應連接某個數據庫1、建表命令:create table <表名> ( <字段名1> <類型1> ,.<字段名n> <類型n>);mysql> create ta

17、ble MyClass(> id int(4) not null primary key auto_increment,> name char(20) not null,> sex int(4) not null default '0',> degree double(16,2);2、獲取表結構命令: desc 表名,或者show columns from 表名mysql>DESCRIBE MyClassmysql> desc MyClass;mysql> show columns from MyClass;3、刪除表命令:drop t

18、able <表名>例如:刪除表名為 MyClass 的表mysql> drop table MyClass;4、插入數據命令:insert into <表名> ( <字段名1>,.<字段名n > ) values ( 值1 ),( 值n )例如,往表 MyClass中插入二條記錄, 這二條記錄表示:編號為1的名為Tom的成績為96.45, 編號為2 的名為Joan 的成績為82.99,編號為3 的名為Wang 的成績為96.5.mysql> insert into MyClass values(1,'Tom',96.4

19、5),(2,'Joan',82.99),(2,'Wang', 96.59);5、查詢表中的數據1)、查詢所有行命令: select <字段1,字段2,.> from < 表名 > where < 表達式 >例如:查看表 MyClass 中所有數據mysql> select * from MyClass;2)、查詢前幾行數據例如:查看表 MyClass 中前2行數據mysql> select * from MyClass order by id limit 0,2;或者:mysql> select * from

20、 MyClass limit 0,2;6、刪除表中數據命令:delete from 表名 where 表達式例如:刪除表 MyClass中編號為1 的記錄mysql> delete from MyClass where id=1;7、修改表中數據:update 表名 set 字段=新值, where 條件mysql> update MyClass set name='Mary' where id=1;7、在表中增加字段:命令:alter table 表名 add字段 類型 其他;例如:在表MyClass中添加了一個字段passtest,類型為int(4),默認值為0

21、mysql> alter table MyClass add passtest int(4) default '0'8、更改表名:命令:rename table 原表名 to 新表名;例如:在表MyClass名字更改為YouClassmysql> rename table MyClass to YouClass;更新字段內容update 表名 set 字段名 = 新內容update 表名 set 字段名 = replace(字段名,'舊內容','新內容');文章前面加入4個空格update article set content=co

22、ncat('',content);字段類型1.INT(M) 型: 正常大小整數類型2.DOUBLE(M,D) ZEROFILL 型: 正常大小(雙精密)浮點數字類型3.DATE 日期類型:支持的范圍是1000-01-01到9999-12-31。MySQL以YYYY-MM-DD格式來顯示DATE值,但是允許你使用字符串或數字把值賦給DATE列4.CHAR(M) 型:定長字符串類型,當存儲時,總是是用空格填滿右邊到指定的長度5.BLOB TEXT類型,最大長度為65535(216-1)個字符。6.VARCHAR型:變長字符串類型5.導入數據庫表(1)創建.sql文件(2)先產生一個

23、庫如auction.c:mysqlbin>mysqladmin -u root -p creatauction,會提示輸入密碼,然后成功創建。(2)導入auction.sql文件c:mysqlbin>mysql -u root -p auction < auction.sql。通過以上操作,就可以創建了一個數據庫auction以及其中的一個表auction。6.修改數據庫(1)在mysql的表中增加字段:alter table dbname add column userid int(11) not null primary keyauto_increment;這樣,就在表d

24、bname中添加了一個字段userid,類型為int(11)。7.mysql數據庫的授權mysql>grant select,insert,delete,create,dropon *.* (或test.*/user.*/.)to 用戶名localhostidentified by '密碼'如:新建一個用戶帳號以便可以訪問數據庫,需要進行如下操作:mysql> grant usage-> ON test.*-> TO testuserlocalhost;Query OK, 0 rows affected (0.15 sec)此后就創建了一個新用戶叫:te

25、stuser,這個用戶只能從localhost連接到數據庫并可以連接到test 數據庫。下一步,我們必須指定testuser這個用戶可以執行哪些操作:mysql> GRANT select, insert, delete,update-> ON test.*-> TO testuserlocalhost;Query OK, 0 rows affected (0.00 sec)此操作使testuser能夠在每一個test數據庫中的表執行Select,Insert和Delete以及Update查詢操作。現在我們結束操作并退出MySQL客戶程序:mysql> exitBye9

26、!1:使用SHOW語句找出在服務器上當前存在什么數據庫:mysql> SHOW DATABASES;2:2、創建一個數據庫MYSQLDATAmysql> Create DATABASE MYSQLDATA;3:選擇你所創建的數據庫mysql> USE MYSQLDATA; (按回車鍵出現Database changed 時說明操作成功!)4:查看現在的數據庫中存在什么表mysql> SHOW TABLES;5:創建一個數據庫表mysql> Create TABLE MYTABLE (name VARCHAR(20), sex CHAR(1);6:顯示表的結構:my

27、sql> DESCRIBE MYTABLE;7:往表中加入記錄mysql> insert into MYTABLE values ("hyq","M");8:用文本方式將數據裝入數據庫表中(例如D:/mysql.txt)mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE;9:導入.sql文件命令(例如D:/mysql.sql)mysql>use database;mysql>source d:/mysql.sql;10:刪除表my

28、sql>drop TABLE MYTABLE;11:清空表mysql>delete from MYTABLE;12:更新表中數據mysql>update MYTABLE set sex="f" where name='hyq'以下是無意中在網絡看到的使用MySql的管理心得,摘自:html在windows中MySql以服務形式存在,在使用前應確保此服務已經啟動,未啟動可用net start mysql命令啟動。而Linux中啟動時可用"/etc/rc.d/init.d/mysqldstart"命令,注意啟動者應具有管理員

29、權限。剛安裝好的MySql包含一個含空密碼的root帳戶和一個匿名帳戶,這是很大的安全隱患,對于一些重要的應用我們應將安全性盡可能提高,在這里應把匿名帳戶刪除、 root帳戶設置密碼,可用如下命令進行:use mysql;delete from User where User=""update User set Password=PASSWORD('newpassword') where User='root'如果要對用戶所用的登錄終端進行限制,可以更新User表中相應用戶的Host字段,在進行了以上更改后應重新啟動數據庫服務,此時登錄時可用

30、如下類似命令:mysql -uroot -p;mysql -uroot -pnewpassword;mysql mydb -uroot -p;mysql mydb -uroot -pnewpassword;上面命令參數是常用參數的一部分,詳細情況可參考文檔。此處的mydb是要登錄的數據庫的名稱。在進行開發和實際應用中,用戶不應該只用root用戶進行連接數據庫,雖然使用root用戶進行測試時很方便,但會給系統帶來重大安全隱患,也不利于管理技術的提高。我們給一個應用中使用的用戶賦予最恰當的數據庫權限。如一個只進行數據插入的用戶不應賦予其刪除數據的權限。MySql的用戶管理是通過 User表來實現的

31、,添加新用戶常用的方法有兩個,一是在User表插入相應的數據行,同時設置相應的權限;二是通過GRANT命令創建具有某種權限的用戶。其中GRANT的常用用法如下:grant all on mydb.* to NewUserNameHostName identified by "password" ;grant usage on *.* to NewUserNameHostName identified by "password"grant select,insert,update on mydb.* to NewUserNameHostName ident

32、ifiedby "password"grant update,delete on mydb.TestTable to NewUserNameHostName identifiedby "password"若要給此用戶賦予他在相應對象上的權限的管理能力,可在GRANT后面添加WITHGRANT OPTION選項。而對于用插入User表添加的用戶,Password字段應用PASSWORD函數進行更新加密,以防不軌之人竊看密碼。對于那些已經不用的用戶應給予清除,權限過界的用戶應及時回收權限,回收權限可以通過更新User表相應字段,也可以使用REVOKE操作。下

33、面給出本人從其它資料(-)獲得的對常用權限的解釋:全局管理權限:FILE: 在MySQL服務器上讀寫文件。PROCESS: 顯示或殺死屬于其它用戶的服務線程。RELOAD: 重載訪問控制表,刷新日志等。SHUTDOWN: 關閉MySQL服務。數據庫/數據表/數據列權限:Alter: 修改已存在的數據表(例如增加/刪除列)和索引。Create: 建立新的數據庫或數據表。Delete: 刪除表的記錄。Drop: 刪除數據表或數據庫。INDEX: 建立或刪除索引。Insert: 增加表的記錄。Select: 顯示/搜索表的記錄。Update: 修改表中已存在的記錄。特別的權限:ALL: 允許做任何事

34、(和root一樣)。USAGE: 只允許登錄-其它什么也不允許做。-MYSQL常用命令有很多朋友雖然安裝好了mysql但卻不知如何使用它。在這篇文章中我們就從連接MYSQL、修改密碼、增加用戶等方面來學習一些MYSQL的常用命令。有很多朋友雖然安裝好了mysql但卻不知如何使用它。在這篇文章中我們就從連接MYSQL、修改密碼、增加用戶等方面來學習一些MYSQL的常用命令。一、連接MYSQL格式: mysql -h主機地址 -u用戶名 -p用戶密碼1、例1:連接到本機上的MYSQL首先在打開DOS窗口,然后進入目錄 mysqlbin,再鍵入命令mysql -uroot -p,回車后提示你輸密碼,

35、如果剛安裝好MYSQL,超級用戶root是沒有密碼的,故直接回車即可進入到MYSQL中了,MYSQL的提示符是:mysql>2、例2:連接到遠程主機上的MYSQL假設遠程主機的IP為:10,用戶名為root,密碼為abcd123。則鍵入以下命令:mysql -h10 -uroot -pabcd123(注:u與root可以不用加空格,其它也一樣)3、退出MYSQL命令: exit (回車)二、修改密碼格式:mysqladmin -u用戶名 -p舊密碼 password 新密碼1、例1:給root加個密碼ab12。首先在DOS下進入目錄my

36、sqlbin,然后鍵入以下命令mysqladmin -uroot -password ab12注:因為開始時root沒有密碼,所以-p舊密碼一項就可以省略了。2、例2:再將root的密碼改為djg345mysqladmin -uroot -pab12 password djg345MYSQL常用命令(下)一、操作技巧1、如果你打命令時,回車后發現忘記加分號,你無須重打一遍命令,只要打個分號回車就可以了。也就是說你可以把一個完整的命令分成幾行來打,完后用分號作結束標志就OK。2、你可以使用光標上下鍵調出以前的命令。但以前我用過的一個MYSQL舊版本不支持。我現在用的是mysql-3.23.27-

37、beta-win。二、顯示命令1、顯示數據庫列表。show databases;剛開始時才兩個數據庫:mysql和test。mysql庫很重要它里面有MYSQL的系統信息,我們改密碼和新增用戶,實際上就是用這個庫進行操作。2、顯示庫中的數據表:use mysql; /打開庫,學過FOXBASE的一定不會陌生吧show tables;3、顯示數據表的結構:describe 表名;4、建庫:create database 庫名;5、建表:use 庫名;create table 表名 (字段設定列表);6、刪庫和刪表:drop database 庫名;drop table 表名;7、將表中記錄清空:

38、delete from 表名;8、顯示表中的記錄:select * from 表名;三、一個建庫和建表以及插入數據的實例drop database if exists school; /如果存在SCHOOL則刪除create database school; /建立庫SCHOOLuse school; /打開庫SCHOOLcreate table teacher /建立表TEACHER(id int(3) auto_increment not null primary key,name char(10) not null,address varchar(50) default '深圳&

39、#39;,year date); /建表結束/以下為插入字段insert into teacher values('','glchengang','深圳一中','1976-10-10');insert into teacher values('','jack','深圳一中','1975-12-23');注:在建表中(1)將ID設為長度為3的數字字段:int(3)并讓它每個記錄自動加一:auto_increment并不能為空:not null而且讓他成為主字段prima

40、ry key(2)將NAME設為長度為10的字符字段(3)將ADDRESS設為長度50的字符字段,而且缺省值為深圳。varchar和char有什么區別呢,只有等以后的文章再說了。(4)將YEAR設為日期字段。如果你在mysql提示符鍵入上面的命令也可以,但不方便調試。你可以將以上命令原樣寫入一個文本文件中假設為school.sql,然后復制到c:下,并在DOS狀態進入目錄mysqlbin,然后鍵入以下命令:mysql -uroot -p密碼 < c:school.sql如果成功,空出一行無任何顯示;如有錯誤,會有提示。(以上命令已經調試,你只要將/的注釋去掉即可使用)。四、將文本數據轉到

41、數據庫中1、文本數據應符合的格式:字段數據之間用tab鍵隔開,null值用n來代替.例:3 rose 深圳二中 1976-10-104 mike 深圳一中 1975-12-232、數據傳入命令 load data local infile "文件名" into table 表名;注意:你最好將文件復制到mysqlbin目錄下,并且要先用use命令打表所在的庫 。五、備份數據庫:(命令在DOS的mysqlbin目錄下執行)mysqldump -opt school>school.bbb注釋:將數據庫school備份到school.bbb文件,school.bbb是一個文

42、本文件,文件名任取,打開看看你會有新發現。一.Select語句的完整語法為:SelectALL|DISTINCT|DISTINCTROW|TOP*|talbe.*|table.field1AS alias1,table.field2AS alias2,FROM tableexpression,IN externaldatabaseWhereGROUP BYHAVINGORDER BYWITH OWNERACCESS OPTION說明:用中括號()括起來的部分表示是可選的,用大括號()括起來的部分是表示必須從中選擇其中的一個。1 FROM子句FROM 子句指定了Select語句中字段的來源。FR

43、OM子句后面是包含一個或多個的表達式(由逗號分開),其中的表達式可為單一表名稱、已保存的查詢或由 INNERJOIN、LEFT JOIN 或 RIGHT JOIN 得到的復合結果。如果表或查詢存儲在外部數據庫,在IN 子句之后指明其完整路徑。例:下列SQL語句返回所有有定單的客戶:Select orderID,Customer.customerIDFROM orders CustomersWhere orders.CustomerID=Customers.CustomeersID2 ALL、DISTINCT、DISTINCTROW、TOP謂詞(1) ALL 返回滿足SQL語句條件的所有記錄。如

44、果沒有指明這個謂詞,默認為ALL。例:Select ALL FirstName,LastNameFROM Employees(2) DISTINCT 如果有多個記錄的選擇字段的數據相同,只返回一個。(3) DISTINCTROW 如果有重復的記錄,只返回一個(4) TOP顯示查詢頭尾若干記錄。也可返回記錄的百分比,這是要用 TOP NPERCENT子句(其中N 表示百分比)例:返回5%定貨額最大的定單Select TOP 5 PERCENT*FROM order DetailsorDER BY UnitPrice*Quantity*(1-Discount) DESC3 用 AS 子句為字段取別

45、名如果想為返回的列取一個新的標題,或者,經過對字段的計算或總結之后,產生了一個新的值,希望把它放到一個新的列里顯示,則用AS保留。例:返回FirstName字段取別名為NickNameSelect FirstName AS NickName ,LastName ,CityFROM Employees例:返回新的一列顯示庫存價值Select ProductName ,UnitPrice ,UnitsInStock ,UnitPrice*UnitsInStock ASvalueInStockFROM Products二 .Where 子句指定查詢條件1 比較運算符比較運算符 含義= 等于>

46、大于< 小于>= 大于等于<= 小于等于<> 不等于!> 不大于!< 不小于例:返回96年1月的定單Select orderID, CustomerID, orderDateFROM ordersWhere orderDate>#1/1/96# AND orderDate<#1/30/96#注意:Mcirosoft JET SQL 中,日期用'#'定界。日期也可以用Datevalue()函數來代替。在比較字符型的數據時,要加上單引號'',尾空格在比較中被忽略。例:Where orderDate>#96-

47、1-1#也可以表示為:Where orderDate>Datevalue('1/1/96')使用 NOT 表達式求反。例:查看96年1月1日以后的定單Where Not orderDate<=#1/1/96#2 范圍(BETWEEN 和 NOT BETWEEN)BETWEEN AND運算符指定了要搜索的一個閉區間。例:返回96年1月到96年2月的定單。Where orderDate Between #1/1/96# And #2/1/96#3 列表(IN ,NOT IN)IN 運算符用來匹配列表中的任何一個值。IN子句可以代替用OR子句連接的一連串的條件。例:要找出

48、住在 London、Paris或Berlin的所有客戶Select CustomerID, CompanyName, ContactName, CityFROM CustomersWhere City In('London',' Paris',' Berlin')4 模式匹配(LIKE)LIKE運算符檢驗一個包含字符串數據的字段值是否匹配一指定模式。LIKE運算符里使用的通配符通配符 含義? 任何一個單一的字符* 任意長度的字符# 09之間的單一數字字符列表 在字符列表里的任一值!字符列表 不在字符列表里的任一值- 指定字符范圍,兩邊的值分別為其

49、上下限例:返回郵政編碼在(171)555-0000到(171)555-9999之間的客戶Select CustomerID ,CompanyName,City,PhoneFROM CustomersWhere Phone Like '(171)555-#'LIKE運算符的一些樣式及含義樣式 含義 不符合LIKE 'A*' A后跟任意長度的字符 Bc,c255LIKE'5*' 5*5 555LIKE'5?5' 5與5之間有任意一個字符 55,5wer5LIKE'5#5' 5235,5005 5kd5,5346LIKE

50、'a-z' a-z間的任意一個字符 5,%LIKE'!0-9' 非0-9間的任意一個字符 0,1LIKE'' 1,*三 .用ORDER BY子句排序結果orDER子句按一個或多個(最多16個)字段排序查詢結果,可以是升序(ASC)也可以是降序(DESC),缺省是升序。ORDER子句通常放在SQL語句的最后。orDER子句中定義了多個字段,則按照字段的先后順序排序。例:Select ProductName,UnitPrice, UnitInStockFROM ProductsorDER BY UnitInStock DESC , UnitPrice

51、 DESC, ProductNameorDER BY 子句中可以用字段在選擇列表中的位置號代替字段名,可以混合字段名和位置號。例:下面的語句產生與上列相同的效果。Select ProductName,UnitPrice, UnitInStockFROM ProductsorDER BY 1 DESC , 2 DESC,3四 .運用連接關系實現多表查詢例:找出同一個城市中供應商和客戶的名字Select Customers.CompanyName, Suppliers.ComPany.NameFROM Customers, SuppliersWhere Customers.City=Supplie

52、rs.City例:找出產品庫存量大于同一種產品的定單的數量的產品和定單Select ProductName,OrderID, UnitInStock, QuantityFROM Products, Order DeailsWhere PductID=Order Details.ProductIDAND UnitsInStock>Quantity另一種方法是用 Microsof JET SQL 獨有的 JNNER JOIN語法:FROM table1 INNER JOIN table2ON table1.field1 comparision table2.field2其

53、中comparision 就是前面Where子句用到的比較運算符。Select FirstName,lastName,OrderID,CustomerID,OrderDateFROM EmployeesINNER JOIN orders ON Employees.EmployeeID=Orders.EmployeeID注意:INNER JOIN不能連接Memo OLE Object Single Double 數據類型字段。在一個JOIN語句中連接多個ON子句語法:Select fieldsFROM table1 INNER JOIN table2ON table1.field1 compop

54、r table2.field1 ANDON table1.field2 compopr table2.field2 orON table1.field3 compopr table2.field3也可以Select fieldsFROM table1 INNER JOIN(table2 INNER JOIN ( table3INNER JOER ( tablexINNER JOINON table1.field1 compopr table2.field1ON table1.field2 compopr table2.field2ON table1.field3 compopr table2.field3外部連接返回更多記錄,在結果中保留不匹配的記錄,不管存不存在滿足條件的記錄都要返回另一

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論