MySql增刪改查語句_第1頁
MySql增刪改查語句_第2頁
MySql增刪改查語句_第3頁
MySql增刪改查語句_第4頁
MySql增刪改查語句_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、代表任何一個(gè)字符,代表任何字符串; 121.增加一個(gè)字段:alter table tabelName add column fieldName dateType; 122.增加多個(gè)字段:alter table tabelName add column fieldName1 dateType,add columns fieldName2 dateType; 123.多行命令輸入:注意不能將單詞斷開;當(dāng)插入或更改數(shù)據(jù)時(shí),不能將字段的字符串展開到多行里,否則硬回車將被儲(chǔ)存到數(shù)據(jù)中; 124.增加一個(gè)管理員帳戶:grant all on *.* to userlocalhost identified

2、by password; 125.每條語句輸入完畢后要在末尾填加分號(hào);,或者填加g也可以; 126.查詢時(shí)間:select now(; 127.查詢當(dāng)前用戶:select user(; 128.查詢數(shù)據(jù)庫版本:select version(; 129.查詢當(dāng)前使用的數(shù)據(jù)庫:select database(; 130. 131.1、刪除student_course數(shù)據(jù)庫中的students數(shù)據(jù)表: 132.rm -f student_course/students.* 133. 134.2、備份數(shù)據(jù)庫:(將數(shù)據(jù)庫test備份 135.mysqldump -u root -p testc:test

3、.txt 136.備份表格:(備份test數(shù)據(jù)庫下的mytable表格 137.mysqldump -u root -p test mytablec:test.txt 138.將備份數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫:(導(dǎo)回test數(shù)據(jù)庫 139.mysql -u root -p test 140. 141.3、創(chuàng)建臨時(shí)表:(建立臨時(shí)表zengchao 142.create temporary table zengchao(name varchar(10; 143. 144.4、創(chuàng)建表是先判斷表是否存在 145.create table if not exists students(; 146. 147.5、從

4、已經(jīng)有的表中復(fù)制表的結(jié)構(gòu) 148.create table table2 select * from table1 where 11; 149. 150.6、復(fù)制表 151.create table table2 select * from table1; 152. 153.7、對(duì)表重新命名 154.alter table table1 rename as table2; 155. 156.8、修改列的類型 157.alter table table1 modify id int unsigned;/修改列id的類型為int unsigned 158.alter table table1 ch

5、ange id sid int unsigned;/修改列id的名字為sid,而且把屬性修改為int unsigned 159. 160.9、創(chuàng)建索引 161.alter table table1 add index ind_id (id; 162.create index ind_id on table1 (id; 163.create unique index ind_id on table1 (id;/建立唯一性索引 164. 165.10、刪除索引 166.drop index idx_id on table1; 167.alter table table1 drop index in

6、d_id; 168. 169.11、聯(lián)合字符或者多個(gè)列(將列id與:和列name和=連接 170.select concat(id,:,name,= from students; 171. 172.12、limit(選出10到20條 173.select * from students order by id limit 9,10; 174. 175.13、MySQL不支持的功能 176.事務(wù),視圖,外鍵和引用完整性,存儲(chǔ)過程和觸發(fā)器 177. 178. 179.14、MySQL會(huì)使用索引的操作符號(hào) 180.,=,=,between,in,不帶%或者_(dá)開頭的like 181. 182.15、使

7、用索引的缺點(diǎn) 183.1減慢增刪改數(shù)據(jù)的速度; 184.2)占用磁盤空間; 185.3)增加查詢優(yōu) 化器的負(fù)擔(dān); 186.當(dāng)查詢優(yōu)化器生成執(zhí)行計(jì)劃時(shí),會(huì)考慮索引,太多的索引會(huì)給查詢優(yōu)化器增加工作量,導(dǎo)致無法選擇最優(yōu)的查詢方案; 187. 188.16、分析索引效率 189.方法:在一般的SQL語句前加上explain; 190.分析結(jié)果的含義: 191.1)table:表名; 192.2)type:連接的類型,(ALL/Range/Ref。其中ref是最理想的; 193.3)possible_keys:查詢可以利用的索引名; 194.4)key:實(shí)際使用的索引; 195.5)key_len:索

8、引中被使用部分的長度(字節(jié)); 196.6)ref:顯示列名字或者const(不明白什么意思); 197.7)rows:顯示MySQL認(rèn)為在找到正確結(jié)果之前必須掃描的行數(shù); 198.8)extra:MySQL的建議; 199. 200.17、使用較短的定長列 201.1)盡可能使用較短的數(shù)據(jù)類型; 202.2)盡可能使用定長數(shù)據(jù)類型; 203.a)用char代替varchar,固定長度的數(shù)據(jù)處理比變長的快些; 204.b)對(duì)于頻繁修改的表,磁盤容易形成碎片,從而影響數(shù)據(jù)庫的整體性能; 205.c)萬一出現(xiàn)數(shù)據(jù)表崩潰,使用固定長度數(shù)據(jù)行的表更容易重新構(gòu)造。使用固定長度的數(shù)據(jù)行,每個(gè)記錄的開始位置

9、都是固定記錄長度的倍數(shù),可以很容易被檢測(cè)到,但是使用可變長度的數(shù)據(jù)行就不一定了; 206.d)對(duì)于MyISAM類型的數(shù)據(jù)表,雖然轉(zhuǎn)換成固定長度的數(shù)據(jù)列可以提高性能,但是占據(jù)的空間也大; 207. 208.18、使用not null和enum 209.盡量將列定義為not null,這樣可使數(shù)據(jù)的出來更快,所需的空間更少,而且在查詢時(shí),MySQL不需要檢查是否存在特例,即null值,從而優(yōu)化查詢; 210.如果一列只含有有限數(shù)目的特定值,如性別,是否有效或者入學(xué)年份等,在這種情況下應(yīng)該考慮將其轉(zhuǎn)換為enum列的值,MySQL處理的更快,因?yàn)樗械膃num值在系統(tǒng)內(nèi)都是以標(biāo)識(shí)數(shù)值來表示的; 211

10、. 212.19、使用optimize table 213.對(duì)于經(jīng)常修改的表,容易產(chǎn)生碎片,使在查詢數(shù)據(jù)庫時(shí)必須讀取更多的磁盤塊,降低查詢性能。具有可變長的表都存在磁盤碎片問題,這個(gè)問題對(duì)blob數(shù)據(jù)類型更為突出,因?yàn)槠涑叽缱兓浅4???梢酝ㄟ^使用optimize table來整理碎片,保證數(shù)據(jù)庫性能不下降,優(yōu)化那些受碎片影響的數(shù)據(jù)表。 optimize table可以用于MyISAM和BDB類型的數(shù)據(jù)表。實(shí)際上任何碎片整理方法都是用mysqldump來轉(zhuǎn)存數(shù)據(jù)表,然后使用轉(zhuǎn)存后的文件并重新建數(shù)據(jù)表; 214. 215.20、使用procedure analyse( 216.可以使用proce

11、dure analyse(顯示最佳類型的建議,使用很簡單,在select語句后面加上procedure analyse(就可以了;例如: 217.select * from students procedure analyse(; 218.select * from students procedure analyse(16,256; 219. 名; 333. 334.8、顯示表中的記錄: 335. 336.select * from 表名; 337. 338.三、一個(gè)建庫和建表以及插入數(shù)據(jù)的實(shí)例 339. 340.drop database if exists school; /如果存在SC

12、HOOL則刪除 341. 342.create database school; /建立庫SCHOOL 343. 344.use school; /打開庫SCHOOL 345. 346.create table teacher /建立表TEACHER 347. 348.( 349. 350.id int(3 auto_increment not null primary key, 351. 352.name char(10 not null, 353. 354.address varchar(50 default 深圳, 355. 356.year date 357. 358.; /建表結(jié)束

13、359. 360./以下為插入字段 361. 362.insert into teacher values(,glchengang,深圳一中,1976-10-10; 363. 364.insert into teacher values(,jack,深圳一中,1975-12-23; 365. 366.注:在建表中(1)將ID設(shè)為長度為3的數(shù)字字段:int(3并讓它每個(gè)記錄自動(dòng)加一:auto_increment并不能為空:not null而且讓他成為主字段primary key(2)將NAME設(shè)為長度為10的字符字段(3)將ADDRESS設(shè)為長度50的字符字段,而且缺省值為深圳。varchar和

14、char有什么區(qū)別呢,只有等以后的文章再說了。(4)將YEAR設(shè)為日期字段。 367. 368.如果你在mysql提示符鍵入上面的命令也可以,但不方便調(diào)試。你可以將以上命令原樣寫入一個(gè)文本文件中假設(shè)為 school.sql,然后復(fù)制到c:下,并在DOS狀態(tài)進(jìn)入目錄mysqlbin,然后鍵入以下命令: 369. 370.mysql -uroot -p密碼 school.bbb 390. 391.注釋:將數(shù)據(jù)庫school備份到school.bbb文件,school.bbb是一個(gè)文本文件,文件名任取,打開看看你會(huì)有新發(fā)現(xiàn)。 392. 393. 394. 395.mysql命令行常用命令 396.

15、397.第一招、mysql服務(wù)的啟動(dòng)和停止 stop mysql start mysql 400.第二招、登陸mysql 401.語法如下: mysql -u用戶名 -p用戶密碼 402.鍵入命令mysql -uroot -p, 回車后提示你輸入密碼,輸入12345,然后回車即可進(jìn)入到mysql中了,mysql的提示符是: 403 件表達(dá)式 464. 465.sql=update 數(shù)據(jù)表 set 字段1=值1,字段2=值2 字段n=值n where 條件表達(dá)式 466. 467.(3 刪除數(shù)據(jù)記錄: 468. 469.sql=delete from 數(shù)據(jù)表 where 條件表達(dá)式 470. 4

16、71.sql=delete from 數(shù)據(jù)表 (將數(shù)據(jù)表所有記錄刪除 472. 473.(4 添加數(shù)據(jù)記錄: 474. 475.sql=insert into 數(shù)據(jù)表 (字段1,字段2,字段3 valuess (值1,值2,值3 476. 477.sql=insert into 目標(biāo)數(shù)據(jù)表 select * from 源數(shù)據(jù)表 (把源數(shù)據(jù)表的記錄添加到目標(biāo)數(shù)據(jù)表 478. 479.(5 數(shù)據(jù)記錄統(tǒng)計(jì)函數(shù): 480. 481.AVG(字段名 得出一個(gè)表格欄平均值 482.COUNT(*|字段名 對(duì)數(shù)據(jù)行數(shù)的統(tǒng)計(jì)或?qū)δ骋粰谟兄档臄?shù)據(jù)行數(shù)統(tǒng)計(jì) 483.MAX(字段名 取得一個(gè)表格欄最大的值 484.

17、MIN(字段名 取得一個(gè)表格欄最小的值 485.SUM(字段名 把數(shù)據(jù)欄的值相加 486. 487.引用以上函數(shù)的方法: 488. 489.sql=select sum(字段名 as 別名 from 數(shù)據(jù)表 where 條件表達(dá)式 490.set rs=conn.excute(sql 491. 492.用 rs(別名 獲取統(tǒng)的計(jì)值,其它函數(shù)運(yùn)用同上。 493. 494.(6 數(shù)據(jù)表的建立和刪除: 495. 496.CREATE TABLE 數(shù)據(jù)表名稱(字段1 類型1(長度,字段2 類型2(長度 497. 498.例:CREATE TABLE tab01(name varchar(50,date

18、time default now( 499. 500.DROP TABLE 數(shù)據(jù)表名稱 (永久性刪除一個(gè)數(shù)據(jù)表 501. 502. 503. 504.select * from test.text where 1 *表示所有欄目 test指數(shù)據(jù)庫名text指表名 where指條件 505.Select remark as r id,uid from test.text where 指id uid 2欄顯示 as 就是給欄目命名 506.select * from test.text where id4 指ID大于4的都顯示出來 507.select * from test.text where

19、 id4 指ID 不等于4的都出來 508.select * from test.text where id=1 指ID等于1的出來 509.select * from test.text where id in(1,3,5 指找出ID為1 3 5的 not in()則相反 510.select * from test.text where uid like %王% 指UID里只要帶王字的都出來 %王 表示什么王 ,王%表示 王什么。 511.select * from test.text where remark like %學(xué)% 指remark里帶學(xué)的都出來 512.select * fr

20、om test.text where id between 1 and 10 and uid like %王%表示ID 1-10 并且 UID帶王字的出來 513.select * from test.text where id not between 1 and 4 指ID不在1-4里面的 出來 514.(1 and 2 表示滿足1且滿足2 1 or 2 表示滿足1和滿足2 )and or可以連接很多條件 515.select * from test.text group by remark 顯示列出remark有多少類別 如圖 有5類 group by 就是分組命令 516. 517.se

21、lect * from test.text order by regdate asc 把regdate 按從小到大排列 518.ASC不打就是默認(rèn)從小到大 DESC表示從大到小 如 order desc 519.select * from test.text order by regdate asc,id desc 這樣就查詢出日期從小 到大 然后在滿足日期的排列后 ID從大到小排列 520.select * from test.text limit 0,5 表示取5條記錄 如果是3,6 那就是第4-第9條記錄被取出 如圖 521.如過只寫一個(gè)6那就等于0,6 522.select * fro

22、m test.text group by remark order by regdate limit 6 先分組 再排序 LIMIT放最后 這是語法不能顛倒。 523.select count(id from test.text count(表示查詢有多少條信息 這樣根據(jù)表顯示出10條 524.select max(regdate from test.text max( 查詢最大值 只能針對(duì)數(shù)字 包括日期 根據(jù)表顯示出2008-10-22 14:41:30 525.select min(regdatefrom test.text min( 查詢最小值 只能針對(duì)數(shù)字 包括日期 根據(jù)表顯示出200

23、8-10-07 13:21:32 526.select avg(id from test.text avg( 查詢平均值 也只針對(duì)數(shù)字 包括日期 顯示出5.5 如算平均分?jǐn)?shù) 527.select sum(id from test.text sum( 查詢累計(jì)值 數(shù)字包括日期 顯示出55 1+2+3+。10=55 如算總分?jǐn)?shù) 528.insert 插入語句 529.insert into text(id,uid,regdate,remarkvalues(null,ken,now(,學(xué)生 其中null就是沒有 now(就是時(shí)間日期自動(dòng)生成 530.字段的類型要設(shè)計(jì)好。特別注意! 531. 532.

24、 533. 534. 535.Update 更改語句 536.Update 表名 set 字段=值 where 條件 LIMIT(可省略) 537.update test.text set uid=kenchen where id=11 意思是把ID是11的UID 改成kenchen 538. 539.Delete 刪除語句 540.Delete from 表命 where limit 541.Delete from text where id=3 意思是把ID=3的信息條刪除! 542. 543.mysql 字段類型說明- - 544. 545. 546.MySQL支持大量的列類型,它可以被

25、分為3類:數(shù)字類型、日期和時(shí)間類型以及字符串(字符類型。本節(jié)首先給出可用類型的一個(gè)概述,并且總結(jié)每個(gè)列類型的存儲(chǔ)需求,然后提供每個(gè)類中的類型性質(zhì)的更詳細(xì)的描述。概述有意簡化,更詳細(xì)的說明應(yīng)該考慮到有關(guān)特定列類型的附加信息,例如你能為其指定值的允許格式。 547. 548.由MySQL支持的列類型列在下面。下列代碼字母用于描述中: 549. 550.M 551.指出最大的顯示尺寸。最大的合法的顯示尺寸是 255 。 552.D 553.適用于浮點(diǎn)類型并且指出跟隨在十進(jìn)制小數(shù)點(diǎn)后的數(shù)碼的數(shù)量。最大可能的值是30,但是應(yīng)該不大于M-2。 554.方括號(hào)(“”和“”指出可選的類型修飾符的部分。 555

26、. 556.注意,如果你指定一個(gè)了為ZEROFILL,MySQL將為該列自動(dòng)地增加UNSIGNED屬性。 557. 558.TINYINT(M UNSIGNED ZEROFILL 559.一個(gè)很小的整數(shù)。有符號(hào)的范圍是-128到127,無符號(hào)的范圍是0到255。 560. 561. 562.SMALLINT(M UNSIGNED ZEROFILL 563.一個(gè)小整數(shù)。有符號(hào)的范圍是-32768到32767,無符號(hào)的范圍是0到65535。 564. 565.MEDIUMINT(M UNSIGNED ZE 圍是1000-01-01到9999-12-31。MySQL以YYYY-MM-DD格式來顯示D

27、ATE值,但是允許你使用字符串或數(shù)字把值賦給DATE列。 591.DATETIME 592.一個(gè)日期和時(shí)間組合。支持的范圍是1000-01-01 00:00:00到9999-12-31 23:59:59。MySQL以YYYY-MM-DD HH:MM:SS格式來顯示DATETIME值,但是允許你使用字符串或數(shù)字把值賦給DATETIME的列。 593.TIMESTAMP(M 594.一個(gè)時(shí)間戳記。范圍是1970-01-01 00:00:00到2037年的某時(shí)。MySQL以YYYYMMDDHHMMSS、YYMMDDHHMMSS、YYYYMMDD或YYMMDD格式來顯示TIMESTAMP值,取決于是否M是14(或省略、12、8或6,但是允許你使用字符串或數(shù)字把值賦給TIMESTAMP列。一個(gè)TIMESTAMP列對(duì)于記錄一個(gè)INSERT或UPDATE操作的日期和時(shí)間是有用的,因?yàn)槿绻悴蛔约航o它賦值,它自動(dòng)地被設(shè)置為最近操作的日期和時(shí)間。你以可以通過賦給它一個(gè)NULL值設(shè)置它為當(dāng)前的日期和時(shí)間。 595.TIME 596.一個(gè)時(shí)間。范圍是-838:59:59到838:59:59。MySQL以HH:MM:SS格式來顯示TIME值,但是允許你使用字符串或數(shù)字把值賦給TIME列

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論