mysql語句
❶ 15個Mysql常用基本SQL語句
在學習SQL語句之前,首先需要區分幾個概念,我們常說的資料庫是指資料庫軟體,例如MySQL、Oracle、SQL Server等,而本文提到的資料庫是指資料庫軟體中的一個個用於存儲數據的容器。
在MySQL中,資料庫稱為database,數據表稱為table,一個資料庫軟體中有多個資料庫(databases),每個資料庫中又可以有多個數據表(tables),最終,數據是存儲在數據表中。
資料庫和數據表之間的關系可以用下面這個圖來表示,對於一個資料庫來說,有多個數據表。
在正式開始寫SQL語句之前,需要說明兩點。
這里通過MySQL Workbench來寫SQL代碼,在Workbench中,執行一條SQL語句的方式有兩種。
了解了這之後,接下來介紹一些常見的命令,分兩部分:資料庫常用命令和數據表常用命令。
1、查看有哪些資料庫
2、創建資料庫
創建一個名為Testdb的資料庫。
3、創建資料庫並指定編碼格式
有些時候,為了防止中文亂碼,創建資料庫的時候需要指定編碼格式。
4、使用某個資料庫
使用mydb這個資料庫,或者進入mydb這個資料庫。
5、刪除資料庫
刪除Testdb這個資料庫。
1、查看有哪些數據表
進入某個資料庫之後,想查看有哪些數據表,SQL語句為:
mydb是一個新建的資料庫,所以自然是沒有數據表。
2、創建數據表
建表SQL語句格式為:
說明: 每個欄位以逗號分隔,最後一個欄位不加逗號。
例如,給定一個學員信息表,如下表所示。
根據以上表格,建表SQL語句如下。
以上語句中,primary key表示主鍵,意思是這個欄位作為記錄的唯一標識,就像每個人的身份證號,都是唯一確定的。
3、查看錶結構
查看錶結構的SQL命令為:
執行該命令會顯示表stuinfo的基本結構,例如有哪些欄位,每個欄位是什麼類型,誰是主鍵等。
4、修改數據表
修改數據表通過drop子句進行,比如,建完表後,想增加一個欄位,SQL語句的格式為:
想在指定位置增加一個欄位,例如,在某個欄位後增加一個欄位,SQL語句的格式為:
如果在某個欄位之前增加欄位,用before即可。
例如,在欄位age後增加一個欄位major(專業),SQL語句為:
執行這個命令,再通過describe查看錶結構,會發現表中多了一個欄位major。
如果要刪除major這個欄位,通過drop子句,SQL語句為:
5、重命名表
重命名表通過alter+rename來實現,SQL語句格式為:
這里為了不影響之前創建的表,我們創建一個新表,SQL語句如下。
以上創建一個名為stuInfoTest的表,現在想將它的名稱改成stuinfotest1,SQL語句為:
6、刪除數據表
刪除數據表通過drop進行,SQL語句格式為:
例如,刪除數據表stuinfotest1,SQL語句為:
7、插入記錄
此時的表stuinfo是空的,沒有數據,我們要向表中插入記錄。
插入記錄通過insert into進行,SQL語句格式為:
例如,向表stuinfo插入一條記錄,SQL語句為:
注意:上方是一條SQL語句,為了可讀性換行,記住一條SQL語句默認以分號結尾。
如果需要一次性插入多條記錄,SQL語句格式為:
例如,向表stuinfo再插入兩條記錄,SQL語句為:
注意:如果設置了主鍵,插入記錄的主鍵欄位是不能重復的,也就是不能插入重復的記錄。
作業:大家可以按照上述方法將上面的學員信息表中的所有記錄都插入表stuinfo中。
8、查詢記錄
有了數據之後,就可以查詢記錄了,查詢記錄通過select子句進行。
例如,想查詢表stuinfo中的所有記錄,SQL語句為:
執行之後,就可以看到表stuinfo中的所有記錄了。
如果想查詢符合某個條件的記錄,就要用到where子句了,SQL格式為:
例如,想查詢stuid為20161001的記錄,SQL語句為:
9、刪除記錄
刪除記錄通過delete子句進行,SQL語句格式為:
例如,想刪除stuid為20161002的記錄,SQL語句為:
10、修改記錄
修改記錄通過update子句進行,update就是更新的意思,SQL語句格式為:
例如,想將學號(stuid)為20161001的記錄的姓名(stuname)更新為Jack,SQL語句為:
以上,就是MySQL中的基本SQL語句。
零基礎如何學習數據分析?查看下方專欄。
❷ mysql添加語句
mysql中常用的三種插入數據的語句:
1、insert into表示插入數據,資料庫會檢查主鍵(PrimaryKey),如果出現重復會報錯;
2、replace into表示插入替換數據,需求表中有PrimaryKey,或者unique索引的話,如果資料庫已經存在數據,則用新數據替換,如果沒有數據效果則和冊凳insert into一樣;
3、REPLACE語句會返回一個數,來指示受影響的行的數目。該數是被刪除和被插入的行數的和。如果對於一個單行REPLACE該數為1,則一行被插入,同時沒有行被刪除。如果該數大於1,則在新行被插入前,有一個或多個舊行被刪除。如果表包含多個唯一索引,並且新行復制了在不同的唯一索引中的不同舊行的值,則有可能是一個單一行替換了多個舊行。
MySQL是一個關系型資料庫管理系統,由瑞典MySQL AB 公司開發,目前屬侍姿碰於老談 Oracle 旗下產品。MySQL 最流行的關系型資料庫管理系統,在 WEB 應用方面MySQL是最好的 RDBMS (Relational Database Management System,關系資料庫管理系統) 應用軟體之一。
MySQL是一種關聯資料庫管理系統,關聯資料庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度並提高了靈活性。
❸ 甯哥敤鐨凪ySQL鍛戒護
瀹為獙鍦ㄥ懡浠ゆ彁紺虹︿笅銆
1:浣跨敤SHOW璇鍙ユ壘鍑哄湪鏈嶅姟鍣ㄤ笂褰撳墠瀛樺湪浠涔堟暟鎹搴擄細 mysql SHOW DATABASES; 2:2銆佸壋寤轟竴涓鏁版嵁搴揗YSQLDATA mysql 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:鏄劇ず琛ㄧ殑緇撴瀯錛 mysql DESCRIBE MYTABLE;
7:寰琛ㄤ腑鍔犲叆璁板綍 mysql insert into MYTABLE values (鈥漢yq鈥,鈥滿鈥); 8:鐢ㄦ枃鏈鏂瑰紡灝嗘暟鎹瑁呭叆鏁版嵁搴撹〃涓錛堜緥濡侱:/mysql.txt錛 mysql LOAD DATA LOCAL INFILE 鈥淒:/mysql.txt鈥 INTO TABLE MYTABLE; 9:瀵煎叆.sql鏂囦歡鍛戒護錛堜緥濡侱:/mysql.sql錛 mysqluse database; mysqlsource d:/mysql.sql; 10:鍒犻櫎琛 mysqldrop TABLE MYTABLE; 11:娓呯┖琛 mysqldelete from MYTABLE; 12:鏇存柊琛ㄤ腑鏁版嵁 mysqlupdate MYTABLE set sex=鈥漟鈥 where name=鈥檋yq鈥;
鍦╳indows涓璏ySql浠ユ湇鍔″艦寮忓瓨鍦錛屽湪浣跨敤鍓嶅簲紜淇濇ゆ湇鍔″凡緇忓惎鍔錛屾湭鍚鍔ㄥ彲鐢╪et start mysql鍛戒護鍚鍔ㄣ傝孡inux涓鍚鍔ㄦ椂鍙鐢ㄢ/etc/rc.d/init.d/mysqld start鈥濆懡浠わ紝娉ㄦ剰鍚鍔ㄨ呭簲鍏鋒湁綆$悊鍛樻潈闄愩
鍒氬畨瑁呭ソ鐨凪ySql鍖呭惈涓涓鍚絀哄瘑鐮佺殑root甯愭埛鍜屼竴涓鍖垮悕甯愭埛錛岃繖鏄寰堝ぇ鐨勫畨鍏ㄩ殣鎮o紝瀵逛簬涓浜涢噸瑕佺殑搴旂敤鎴戜滑搴斿皢瀹夊叏鎬у敖鍙鑳芥彁楂橈紝鍦ㄨ繖閲屽簲鎶婂尶鍚嶅笎鎴峰垹闄ゃ root甯愭埛璁劇疆瀵嗙爜錛屽彲鐢ㄥ備笅鍛戒護榪涜岋細 use mysql; delete from User where User=鈥"; update User set Password=PASSWORD(鈥檔ewpassword鈥) where User=鈥檙oot鈥;
濡傛灉瑕佸圭敤鎴鋒墍鐢ㄧ殑鐧誨綍緇堢榪涜岄檺鍒訛紝鍙浠ユ洿鏂癠ser琛ㄤ腑鐩稿簲鐢ㄦ埛鐨凥ost瀛楁碉紝鍦ㄨ繘琛屼簡浠ヤ笂鏇存敼鍚庡簲閲嶆柊鍚鍔ㄦ暟鎹搴撴湇鍔★紝姝ゆ椂鐧誨綍鏃跺彲鐢ㄥ備笅綾諱技鍛戒護錛 mysql -uroot -p; mysql -uroot -pnewpassword; mysql mydb -uroot -p; mysql mydb -uroot -pnewpassword; 涓婇潰鍛戒護鍙傛暟鏄甯哥敤鍙傛暟鐨勪竴閮ㄥ垎錛岃︾粏鎯呭喌鍙鍙傝冩枃妗c傛ゅ勭殑mydb鏄瑕佺櫥褰曠殑鏁版嵁搴撶殑鍚嶇О銆
鍦 榪涜屽紑鍙戝拰瀹為檯搴旂敤涓錛岀敤鎴蜂笉搴旇ュ彧鐢╮oot鐢ㄦ埛榪涜岃繛鎺ユ暟鎹搴擄紝鉶界劧浣跨敤root鐢ㄦ埛榪涜屾祴璇曟椂寰堟柟渚匡紝浣嗕細緇欑郴緇熷甫鏉ラ噸澶у畨鍏ㄩ殣鎮o紝涔熶笉鍒╀簬綆$悊鎶 鏈鐨勬彁楂樸傛垜浠緇欎竴涓搴旂敤涓浣跨敤鐨勭敤鎴瘋祴浜堟渶鎮板綋鐨勬暟鎹搴撴潈闄愩傚備竴涓鍙榪涜屾暟鎹鎻掑叆鐨勭敤鎴蜂笉搴旇祴浜堝叾鍒犻櫎鏁版嵁鐨勬潈闄愩侻ySql鐨勭敤鎴風$悊鏄閫氳繃 User琛ㄦ潵瀹炵幇鐨勶紝娣誨姞鏂扮敤鎴峰父鐢ㄧ殑鏂規硶鏈変袱涓錛屼竴鏄鍦║ser琛ㄦ彃鍏ョ浉搴旂殑鏁版嵁琛岋紝鍚屾椂璁劇疆鐩稿簲鐨勬潈闄愶紱浜屾槸閫氳繃GRANT鍛戒護鍒涘緩鍏鋒湁鏌愮嶆潈闄愮殑鐢 鎴楓傚叾涓璆RANT鐨勫父鐢ㄧ敤娉曞備笅錛 grant all on mydb.* to NewUserName@HostName identified by 鈥減assword鈥 ; grant usage on *.* to NewUserName@HostName identified by 鈥減assword鈥; grant select,insert,update on mydb.* to NewUserName@HostName identified by 鈥減assword鈥; grant update,delete on mydb.TestTable to NewUserName@HostName identified by 鈥減assword鈥;
鑰屽逛簬鐢ㄦ彃鍏User琛ㄦ坊鍔犵殑鐢ㄦ埛錛孭assword瀛楁靛簲鐢≒ASSWORD 鍑芥暟榪涜屾洿鏂板姞瀵嗭紝浠ラ槻涓嶈建涔嬩漢紿冪湅瀵嗙爜銆傚逛簬閭d簺宸茬粡涓嶇敤鐨勭敤鎴峰簲緇欎簣娓呴櫎錛屾潈闄愯繃鐣岀殑鐢ㄦ埛搴斿強鏃跺洖鏀舵潈闄愶紝鍥炴敹鏉冮檺鍙浠ラ氳繃鏇存柊User琛ㄧ浉搴斿瓧孌碉紝 涔熷彲浠ヤ嬌鐢≧EVOKE鎿嶄綔銆 涓嬮潰緇欏嚭鏈浜轟粠鍏跺畠璧勬枡(www.cn-java.com)鑾峰緱鐨勫瑰父鐢ㄦ潈闄愮殑瑙i噴錛 鍏ㄥ矓綆$悊鏉冮檺錛 FILE: 鍦∕ySQL鏈嶅姟鍣ㄤ笂璇誨啓鏂囦歡銆 PROCESS: 鏄劇ず鎴栨潃姝誨睘浜庡叾瀹冪敤鎴風殑鏈嶅姟綰跨▼銆 RELOAD: 閲嶈澆璁塊棶鎺у埗琛錛屽埛鏂版棩蹇楃瓑銆 SHUTDOWN: 鍏抽棴MySQL鏈嶅姟銆 鏁版嵁搴/鏁版嵁琛/鏁版嵁鍒楁潈闄愶細
ALTER: 淇鏀瑰凡瀛樺湪鐨勬暟鎹琛(渚嬪傚炲姞/鍒犻櫎鍒)鍜岀儲寮曘 CREATE: 寤虹珛鏂扮殑鏁版嵁搴撴垨鏁版嵁琛ㄣ DELETE: 鍒犻櫎琛ㄧ殑璁板綍銆 DROP: 鍒犻櫎鏁版嵁琛ㄦ垨鏁版嵁搴撱 INDEX: 寤虹珛鎴栧垹闄ょ儲寮曘 INSERT: 澧炲姞琛ㄧ殑璁板綍銆 SELECT: 鏄劇ず/鎼滅儲琛ㄧ殑璁板綍銆 UPDATE: 淇鏀硅〃涓宸插瓨鍦ㄧ殑璁板綍銆 鐗瑰埆鐨勬潈闄愶細 ALL: 鍏佽稿仛浠諱綍浜(鍜宺oot涓鏍)銆 USAGE: 鍙鍏佽哥櫥褰曗撳叾瀹冧粈涔堜篃涓嶅厑璁稿仛銆