MySQL教程数据定义语言DDL示例详解 |
||||||
濡傛灉浣犳槸鍒氬垰瀛︿範MySQL鐨勫皬鐧斤紝鍦ㄤ綘鐪嬭繖绡囨枃绔犱箣鍓嶏紝璇峰厛鐪嬬湅涓嬮潰杩欎簺鏂囩珷銆傛湁浜涚煡璇嗕綘鍙兘鎺屾彙璧锋潵鏈夌偣鍥伴毦锛屼絾璇风浉淇℃垜锛屾寜鐓ф垜鎻愪緵鐨勮繖涓涔犳祦绋嬶紝鍙嶅鍘荤湅锛岃偗瀹氬彲浠ョ湅鏄庣櫧鐨勶紝杩欐牱灏变笉鑷充簬鍒颁簡鏈鍚庢煇浜涚煡璇嗕笉鎳傚嵈涓嶇煡閬撲粠鍝噷涓嬫墜鍘绘煡銆?/p> 銆奙ySQL璇︾粏瀹夎鏁欑▼銆?/a> 1.SQL璇█鐨勫熀鏈姛鑳戒粙缁?/h2>SQL鏄竴绉嶇粨鏋勫寲鏌ヨ璇█锛屼富瑕佹湁濡備笅鍑犱釜鍔熻兘锛?/p> 鏁版嵁瀹氫箟璇█锛氬叏绉版槸Data Definition Language锛岀畝绉版槸DDL锛涙暟鎹搷绾佃瑷锛氬叏绉版槸Data Manipulation Language锛屽缓鎴愭椂DML锛涙暟鎹帶鍒惰瑷锛氬叏绉版槸Data Control Language锛屽缓鎴愭椂 鍏朵腑鏈閲嶈鐨勬槸鏁版嵁鎿嶇旱璇█ 2.鏁版嵁瀹氫箟璇█鐨勭敤閫?/h2>涓昏鏄鏁版嵁搴撳璞★紙鏁版嵁搴撱佽〃銆佽鍥俱佺储寮曪級鐨勬搷浣溿?/p>
3.鏁版嵁搴撶殑鍒涘缓鍜岄攢姣?/h2>
-- 鍒涘缓鏁版嵁搴擄細鍒涘缓student鏁版嵁搴? create database if not exists student; -- 閿姣佹暟鎹簱(灏戠敤) drop database if exists student; -- 鍒涘缓鏁版嵁搴撳悗锛屽綋杩涜瀵硅〃鐨勬搷浣滀箣鍓嶏紝蹇呴』瑕佸厛浣跨敤鏁版嵁搴撱? use student; 4.鏁版嵁搴撹〃鐨勬搷浣?鎵鏈夋紨绀洪兘浠tudent琛ㄤ负渚?1锛夊垱寤鸿〃1锛夊垱寤鸿〃锛氬垱寤簊tudent琛? -- 鍒涘缓琛ㄧ粨鏋勬椂闇瑕佹弿杩扮殑瀛楁淇℃伅 create table student( sid int, sname varchar(20), age int )charset=utf8; 2锛?瀹屾暣鐨勫缓琛ㄨ鍙?搴旇杩欐牱鍐? create table student( sid int, sname varchar(20), age int )engine=InnoDB default charset=utf8; 娉細鐢变簬榛樿浣跨敤鐨別ngine灏辨槸InnoDB锛岃繖涓琛ㄦ椂鍊欏彲浠ヤ笉鍐欍傚洜涓哄浜庡涔犵殑浣狅紝浣跨敤杩欎釜 榛樿寮曟搸灏卞浜嗐備絾鏄痗harset=utf8杩欎釜鏈濂芥槸鍔犱笂锛屽挨鍏舵槸鍦–MD榛戠獥鍙d腑杈撳叆涓枃鐨勬椂鍊欙紝 涓嶅啓杩欎竴鍙ワ紝浼氬嚭鐜扮被浼煎涓嬮敊璇細 ERROR 1366 (HY000): Incorrect string value: 'xD5xC5' for column 'sname' at row 1 鏌ョ湅瀹屾暣寤鸿〃鐨凷QL璇彞濡備笅锛?/p> 2锛変慨鏀硅〃鈶?淇敼琛ㄥ悕 -- 灏嗚〃鍚峴tudent鏀逛负stu銆? rename table student to stu; -- 淇敼鏁版嵁搴撳悕銆? rename database 鏃у悕 to 鏂板悕; 鈶?淇敼琛ㄧ粨鏋?淇敼琛ㄧ粨鏋勪腑鍖呭惈缁欒〃娣诲姞鏌愪釜鏂板瓧娈碉紝淇敼琛ㄤ腑鏌愪釜瀛楁锛屽垹闄よ〃涓煇涓瓧娈碉紱 鈪?缁欒〃娣诲姞鏌愪釜鏂板瓧娈?/p> "娣诲姞瀛楁锛氱粰student琛紝娣诲姞涓涓柊鐨勫瓧娈点? 1锛夐粯璁ゆ槸杩藉姞锛屽嵆鍦ㄦ渶鍚庝竴鍒楁坊鍔犳柊鐨勫瓧娈点? alter table student add sex varchar(20); 2锛夊湪棣栦綅娣诲姞鏂扮殑瀛楁锛屼娇鐢╢irst鍏抽敭瀛椼? alter table student add classid int first; 3锛夊湪鎸囧畾浣嶇疆娣诲姞鏂扮殑瀛楁锛屼娇鐢╝fter鍏抽敭瀛?鍦ㄦ寚瀹氬瓧娈靛悗闈㈡坊鍔犳柊瀛楁)銆? alter table student add birthday date after age; "鏌ョ湅琛ㄧ粨鏋勶細鍙互甯姪鎴戜滑浜嗚В琛ㄧ殑缁撴瀯淇℃伅" desc student; 鈪?淇敼琛ㄤ腑鏌愪釜瀛楁 1锛?淇敼瀛楁鍚嶇О"锛歝hange -- 淇敼瀛楁age鐨勫悕绉帮紝涓簊age銆? -- modify涓嶈兘鐩存帴淇敼瀛楁鍚嶇О锛屽叾浣欒兘鐢╟hange鐨勫湴鏂癸紝灏卞彲浠ョ敤modify銆? alter table student change age sage int; 2锛?淇敼瀛楁绫诲瀷"锛氭棦鍙互浣跨敤change锛岃繕鍙互浣跨敤modify銆? "杩樺彲浠ヤ慨鏀箆archar(m)涓繖涓猰鐨勯暱搴?銆? -- 淇敼sname瀛楁鐨勬暟鎹被鍨嬬敱varchar(20)涓簐archar(50)銆? -- 鍙互浣跨敤濡備笅涓ょ鏂瑰紡锛? alter table student change sname sname varchar(50); alter table student modify sname varchar(50); 3锛?淇敼瀛楁浣嶇疆"锛氬彲浠ラ厤鍚堜娇鐢╢irst銆乤fter鍏抽敭瀛椼? -- 灏唖name瀛楁锛屾斁缃埌age鍚庨潰銆傚彲浠ヤ娇鐢ㄥ涓嬩袱绉嶆柟寮忥細 alter table student change sname sname varchar(50) after age; alter table student modify sname varchar(50) after age; 鈪?鍒犻櫎琛ㄤ腑鏌愪釜瀛楁 -- 鍒犻櫎classid杩欎釜瀛楁 alter table student drop classid; 鈶?娓呯┖琛細娓呯┖琛ㄤ腑鎵鏈夋暟鎹?/p> truncate鍙垹闄ゆ暟鎹絾鏄笉鍒犻櫎琛ㄧ粨鏋勶紱 娉ㄦ剰truncate涓巇elete鐨勫尯鍒紝閮界敤浜庡垹闄よ〃涓暟鎹紝鍖哄埆鍦ㄥ摢閲屽憿锛熷彲浠ヨ嚜琛屾煡鐪嬨?/p> truncate table stu; 3锛夐攢姣佽〃drop table stu; 浠ヤ笂灏辨槸MySQL鏁欑▼鏁版嵁瀹氫箟璇█DDL绀轰緥璇﹁В鐨勮缁嗗唴瀹癸紝鏇村鍏充簬MySQL鏁版嵁瀹氫箟璇█DDL鐨勮祫鏂欒鍏虫敞鑴氭湰涔嬪鍏跺畠鐩稿叧鏂囩珷锛?/p> |