SQL數(shù)據(jù)庫中的增刪改查總結(jié)1
一、增:有2種方法
1.使用insert插入單行數(shù)據(jù):
語法:insert[into]<表名>[列名]values<列值>
例:insertintoStrdents(姓名,性別,出生日期)values("邢金聰","男","1990/6/15")
注意:如果省略表名,將依次插入所有列
2.使用insert,select語句將現(xiàn)有表中的數(shù)據(jù)添加到已有的新表中
語法:insertinto<已有的新表><列名>select<原表列名>from<原表名>
例:insertintoaddressList("姓名","地址","電子郵件")selectname,address,email
fromStrdents
注意:查詢得到的數(shù)據(jù)個數(shù)、順序、數(shù)據(jù)類型等,必須與插入的項保持一致
二、刪:有2中方法
1.使用delete刪除數(shù)據(jù)某些數(shù)據(jù)
語法:deletefrom<表名>[where<刪除條件>]
例:deletefromawherename="邢金聰"(刪除表a中列值為邢金聰?shù)男校?/p>
注意:刪除整行不是刪除單個字段,所以在delete后面不能出現(xiàn)字段名
2.使用truncatetable刪除整個表的數(shù)據(jù)
語法:truncatetable<表名>
例:truncatetableaddressList
注意:刪除表的所有行,但表的結(jié)構(gòu)、列、約束、索引等不會被刪除;不能
用于有外建約束引用的表
三、改
使用update更新修改數(shù)據(jù)
語法:update<表名>set<列名=更新值>[where<更新條件>]
例:truncatetableaddressList
注意:刪除表的所有行,但表的結(jié)構(gòu)、列、約束、索引等不會被刪除;不能
用于有外建約束引用的表
四、查
1.普通查詢
語法:select<列名>from<表名>[where<查詢條件表達試>][orderby<排序的列
名>[asc或desc]]
1).查詢所有數(shù)據(jù)行和列
例:select*froma
說明:查詢a表中所有行和
2).查詢部分行列--條件查詢
例:selecti,j,kfromawheref=5
說明:查詢表a中f=5的所有行,并顯示i,j,k3列
3).在查詢中使用AS更改列名
例:selectnameas姓名fromawheregender="男"
說明:查詢a表中性別為男的所有行,顯示name列,并將name列改名為(姓名)顯示
4).查詢空行
例:selectnamefromawheree-mailisnull
說明:查詢表a中e-mail為空的所有行,并顯示name列;SQL語句中用isnull或者isnotnull
來判斷是否為空行
5).在查詢中使用常量
例:selectname"廊坊"as地址froma
說明:查詢表a,顯示name列,并添加地址列,其列值都為"廊坊"
6).查詢返回限制行數(shù)(關(guān)鍵字:top)
例1:selecttop6namefroma
說明:查詢表a,顯示列name的前6行,top為關(guān)鍵字(oracle中沒有top關(guān)鍵字
用rownum替代)
select*fromawhererownum<6
7).查詢排序(關(guān)鍵字:orderby,asc,desc)
例:selectname
froma
wheregrade>=60分組查詢
orderbydesc
說明:查詢表中成績大于等于60的所有行,并按降序顯示name列;默認為ASC升序
2.模糊查詢
1).使用like進行模糊查詢
注意:like運算符只用語字符串,多表
例:select*fromawherenamelike"趙%"
說明:查詢顯示表a中,n(參考:)ame字段第一個字為趙的記錄
2).使用between在某個范圍內(nèi)進行查詢
例:select*fromawhereagebetween18and20
說明:查詢顯示表a中年齡在18到20之間的記錄
3).使用in在列舉數(shù)值內(nèi)進行查詢(in后是多個的數(shù)據(jù))
例:selectnamefromawhereaddressin("廊坊","石家莊","唐山")
說明:查詢表a中address值為廊坊或者石家莊或者唐山的記錄,顯示name字段
3.分組查詢
1).使用groupby進行分組查詢
例:selectstudentIDas學(xué)員編號,AVG(score)as平均成績(注釋:這里的score是列名)
fromscore(注釋:這里的score是表名)
groupbystudentID
2).使用having子句進行分組篩選
例:selectstudentIDas學(xué)員編號,AVG
fromscore
groupbystudentID
havingcount(score)>1
說明:接上面例子,顯示分組后count(score)>1的行,由于where只能在沒有分組
時使用,分組后只能使用having來限制條件,
4.多表聯(lián)接查詢
1).內(nèi)聯(lián)接
①在where子句中指定聯(lián)接條件
例:selecta.name,b.mark
froma,b
wherea.name=b.name
說明:查詢表a和表b中name字段相等的記錄,并顯示表a中的name字段和表b中的
mark字段
點擊此鏈接可以查看大圖
點擊此鏈接可以下載mindmanager原圖
擴展閱讀:數(shù)據(jù)庫語句增刪改查
mysql語句用法,添加、修改、刪除字段
一,連接MySQL二,MySQL管理與授權(quán)三,數(shù)據(jù)庫簡單操作四,數(shù)據(jù)庫備份五,后記
一,連接MySQL
格式:mysql-h遠程主機地址-u用戶名-p回車輸入密碼進入:
mysql-uroot-p回車
Enterpassword:,輸入密碼就可以進入mysql>進入了
退出命令:>exit或者ctrl+D
二,MySQL管理與授權(quán)1.修改密碼:格式:mysqladmin-u用戶名-p舊密碼password新密碼
2.增加新用戶:
>grantcreate,select,update....(授予相關(guān)的操作權(quán)限)->on數(shù)據(jù)庫.*
->to用戶名@登錄主機identifiedby"密碼"
操作實例:
給root用戶添加密碼:
#mysqladmin-urootpassword52netseek
因為開始root沒有密碼,所以-p舊密碼一項可以省略.登陸測試:
#mysql-uroot-p回車輸入密碼,成功登陸.
將原有的mysql管理登陸密碼52netseek改為52china.#mysqladmin-uroot-p52netseekpassword"52china"
創(chuàng)建數(shù)據(jù)庫添加用戶并授予相應(yīng)的權(quán)限:mysql>createdatabasephpbb;QueryOK,1rowaffected(0.02sec)mysql>usephpbb;Databasechanged
mysql>grantcreate,select,update,insert,delete,alter->onphpbb.*
->tophpbbroot@localhostidentifiedby"52netseek";QueryOK,0rowsaffected(0.00sec)
授予所有的權(quán)限:>grantallprivileges>onbbs.*
>tobbsroot@localhostidentifiedby"52netseek"
回收權(quán)限:
revokecreate,select,update,insert,delete,alteronphpbb.*
fromphpbbroot@localhostidentifiedby"52netseek";
完全將phpbbroot這個用戶刪除:>usemysql>deletefromuser
whereuser="phpbbroot"andhost="localhost";>flushprivileges;刷新數(shù)據(jù)庫
三,數(shù)據(jù)庫簡單操作1.顯示數(shù)據(jù)庫列表:>showdatabases;mysqltest
2.使其成為當(dāng)前操作數(shù)據(jù)庫>usemysql;打開數(shù)據(jù)庫.
>showtables;顯示mysql數(shù)據(jù)庫中的數(shù)據(jù)表.3.顯示數(shù)據(jù)表的表結(jié)構(gòu):>describe表名;
>describeuser;顯示user表的表結(jié)構(gòu):4.創(chuàng)建數(shù)據(jù)庫,建表
>createdatabase數(shù)據(jù)庫名;>use數(shù)據(jù)庫名;
>createtable表名(字段設(shè)定列表)5.刪除數(shù)據(jù)庫,冊除表>dropdatabase數(shù)據(jù)庫名;>droptable表名;6.顯示表中的記錄;select*from表名;7.修改數(shù)據(jù)庫結(jié)構(gòu):增加字段:
altertabledbnameaddcolumn修改字段:
altertabledbnamechange刪除字段:
altertabledbnamedropcolumn
實例操作:
>createdatabaseoffice;>useoffice;
mysql>createtablepersonal(->member_nochar(5)notnull,->namechar(,->birthdaydate,->exam_scoretinyint,->primarykey(member_no)->);
QueryOK,0rowsaffected(0.01sec)>descpersonal;顯示表結(jié)構(gòu):
+------------+------------+------+-----+---------+-------+|Field|Type|Null|Key|Default|Extra|
+------------+------------+------+-----+---------+-------+|member_no|char(5)||PRI||||name|char(|YES||NULL|||birthday|date|YES||NULL|||exam_score|tinyint(4)|YES||NULL||
+------------+------------+------+-----+---------+-------+4rowsinset(0.00sec)
insertintopersonalvalues("001","netseek","1983-03-15","95");insertintopersonalvalues("002","heihei","1982-02-24","90");insertintopersonalvalues("003","gogo","1985-05-21","85");insertintopersonalvalues("004","haha","1984-02-25","84");insertintopersonalvalues("005","linlin","1982-04-28","85");
您正在看的MySQL教程是:MySQL數(shù)據(jù)庫學(xué)習(xí)筆記。insertintopersonalvalues("006","xinxin","1985-03-15","75");
mysql>select*frompersonal;
+-----------+---------+------------+------------+|member_no|name|birthday|exam_score|+-----------+---------+------------+------------+|001|netseek|1983-03-15|95||002|heihei|1982-02-24|90||003|gogo|1985-05-21|85||004|haha|1984-02-25|84||005|linlin|1982-04-28|85||006|xinxin|1985-03-15|75|
+-----------+---------+------------+------------+
修改數(shù)據(jù)庫表:
要求:在birthday這后增加一個為height的字段,數(shù)據(jù)類型為tinyint.將字段exam_score改名為scores,數(shù)據(jù)類型不變>altertablepersonal
->addcolumnheighttinyintafterbirthday,->changecolumnexam_scorescorestinyint;
mysql>select*frompersonal;
+-----------+---------+------------+--------+--------+|member_no|name|birthday|height|scores|+-----------+---------+------------+--------+--------+|001|netseek|1983-03-15|NULL|95||002|heihei|1982-02-24|NULL|90||003|gogo|1985-05-21|NULL|85||004|haha|1984-02-25|NULL|84||005|linlin|1982-04-28|NULL|85||006|xinxin|1985-03-15|NULL|75|
+-----------+---------+------------+--------+--------+
給表中插入數(shù)據(jù):
>updatepersonalsetscores=95+5wherename="netseek";>selectscoresfrompersonalwherename="netseek";+--------+|scores|+--------+|100|+--------+
刪除表名字為"gogo"所有的信息中的的:>deletefrompersonalwherename="gogo";
冊除數(shù)據(jù)庫中的表:
mysql>droptableifexistspersonal;
三,數(shù)據(jù)庫的導(dǎo)入與導(dǎo)出導(dǎo)出:
使用selectintooutfile"filename"語句使用mysqldump實用程序
使用selectintooutfile"filename"語句
1.只能處理單個表,輸出文件只有數(shù)據(jù),沒有表結(jié)構(gòu)
我們要將office,其中有一個表為personal,現(xiàn)在要把personal卸成文本文件out.txt:>useoffice;
>select*frompersonalintooutfile"out.txt";可以看在/var/lib/mysql/office/目錄下有out.txt
select*frompersonalintooutfile"./out.txt";可以看在out.txt在/var/lib/mysql/目錄下用out.txt
2.使用mysqldump實用程序(可以輕松處理多個表)#cd/var/lib/mysql導(dǎo)出建立相關(guān)表的建表命令和插入指令
#mysqldumpbbs>bbs.sql將數(shù)據(jù)庫bbs導(dǎo)入到bbs.sql中
如果要將bbs.sql導(dǎo)入數(shù)據(jù)庫可以使用:
mysql>createdatabasebbstest;先建立一個名為office的數(shù)據(jù)庫.#mysqlbbstestbbscreate.sql只想導(dǎo)出插入數(shù)據(jù)的sql指令:#mysqldump-tbbs>bbsinsert.sql同時導(dǎo)出數(shù)據(jù)庫中建表指令和表中的數(shù)據(jù):
#mysqldump-T./bbscdb_admingroups(其中./表示當(dāng)前目錄,cdb_admingroups為bbs數(shù)據(jù)庫其中的一個表)#ls
cdb_admingroups.sql導(dǎo)出了建表指令cdb_admingroups.txt導(dǎo)出了表中的數(shù)據(jù)導(dǎo)入:
從文件中加載數(shù)據(jù)庫:
mysql>loaddatainfile"/tmp/name.txt"intotablenames;mysql>select*fromnames;
四,數(shù)據(jù)庫備份
1.手動拷貝備份:
MySQL數(shù)據(jù)庫的文件保存在目錄/var/lib/mysql中,數(shù)據(jù)庫為每個庫建立一個目錄,所有的數(shù)據(jù)庫文件都在這些目錄中.[root@linuxheromysql]#ls
[root@linuxheromysql]#servciemysqldstop先停止數(shù)據(jù)庫bbsmysqlmysql.sockphpbbtestoffice顯示其中的數(shù)據(jù)庫.
如果我們要將現(xiàn)在的數(shù)據(jù)庫目錄備份為mysql.bak.[root@linuxherolib]#cp-rfmysqlmysql.bak如果數(shù)據(jù)庫遭到了破壞,現(xiàn)在要將數(shù)據(jù)庫恢復(fù):[root@linuxherolib]#cp-rfmysql.bak/*mysql
恢復(fù)數(shù)據(jù)庫以后,var/lib/mysql中的文件已改變了,要更改文件的所屬權(quán)限必須改變MySQL數(shù)據(jù)庫的用戶讀寫權(quán)限。所以我們得啟動和運行mysql,并登陸數(shù)據(jù)庫:[root@linuxherolib]#/etc/init.d/mysqldstart[root@linuxherolib]#mysql
您正在看的MySQL教程是:MySQL數(shù)據(jù)庫學(xué)習(xí)筆記。-uroot-pEnterpassword:輸入密碼成功登陸.mysql>showdatabses;2.利用mysqldump來備份數(shù)據(jù)庫
[root@linuxheromysql]#mysqldump--optbbs-uroot-p>bbs.sqlEnterpassword:
注:--opt添加備份的其它選項,bb為其中一個數(shù)據(jù)庫名,上面的意思是:使用重定向輸出將備份寫入到文件bb.sql中.[root@linuxheromysql]#lessbbs.sql
如果要恢復(fù)bb這個數(shù)據(jù)庫,則進行如下操作:
[root@linuxheromysql]#mysqlbbs-uroot-p 如果要備份所有數(shù)據(jù)庫: [root@linuxheromysql]#mysqldump--opt--all-databases-uroot-p>mysql.bak Enetrpassword:輸入密碼即可 恢復(fù)所有數(shù)據(jù)庫,不用輸入數(shù)據(jù)庫的名字: [root@linuxheromysql]#mysql-uroot-p MySQL數(shù)據(jù)庫個人學(xué)習(xí)筆記,這是我個人學(xué)習(xí)過程中的一個簡單的總結(jié),這些都是常用的,希望對于希望學(xué)習(xí)mysql的朋友有所幫助,如果有什么不對或者不妥的地方請多多指教,歡迎大家與我交流學(xué)習(xí)Linux相關(guān)的知識 常用鏈接 我的隨筆我的評論我的參與最新評論我的標簽 我的標簽 redmine1.2.2安裝ruby1.8.7rubygem1.6.2(5)eclipse(3) htmlcssjavascriptjqueryeasyui(3)tomcat安裝和配置(2)xhEditor(1)HTML5(1)jdk配置(1)ogre(1) php安裝和配置(1)serv-u安裝配置(1)更多 隨筆分類(44) ant(1)cc++ Coldfusion(6)discuz(3)easyUIhtml(1) innosetup(2)java(2) javascript(4)jquery(2)mysql(8)Ogre(1) rubyredmine(4)struts2(3)study(2)tomcat(1)web(4) 隨筆檔案(61) 201*年7月(2)201*年5月(8)201*年4月(5)201*年3月(28)201*年2月(9)201*年12月(9) mysql下載最新評論 1.Re:Mysql安裝配置@李琳Mike 我說的是服務(wù)端,沒考慮客戶端,不過應(yīng)該也是UTF-8吧。--_安靜 2.Re:Mysql安裝配置 default-character-set=gbk 我一般會選擇UTF-8gbk的效果并不是十分理想有時候還是會出現(xiàn)亂碼的情況~--李琳Mike 閱讀排行榜 1.redmine-1.2.2安裝截圖粘貼插件(7323)2.redmine-1.2.2安裝代碼評審插件(6070)3.redmine-1.2.2安裝服務(wù)(附圖)(5736)4.redmine-1.2.2配置郵件通知(5409)5.web綠色環(huán)境搭建(4880) 評論排行榜 1.Mysql安裝配置(2) 2.redmine-1.2.2安裝截圖粘貼插件(0)3.redmine-1.2.2安裝代碼評審插件(0)4.redmine-1.2.2配置郵件通知(0)5.redmine-1.2.2安裝服務(wù)(附圖)(0) 推薦排行榜 1.web綠色環(huán)境搭建(2)2.tomcat配置文件web.xml與server.xml解析--重要(2)3.mysqldump常用備份選項,只備份數(shù)據(jù)或結(jié)構(gòu)的方法(2)4.Mysql安裝配置(2) 5.redmine-1.2.2安裝截圖粘貼插件(1) Poweredby:博客園Copyright_安靜 友情提示:本文中關(guān)于《SQL數(shù)據(jù)庫中的增刪改查總結(jié)1》給出的范例僅供您參考拓展思維使用,SQL數(shù)據(jù)庫中的增刪改查總結(jié)1:該篇文章建議您自主創(chuàng)作。 來源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請聯(lián)系我們及時刪除。
《SQL數(shù)據(jù)庫中的增刪改查總結(jié)1》由互聯(lián)網(wǎng)用戶整理提供,轉(zhuǎn)載分享請保留原作者信息,謝謝!
鏈接地址:http://m.seogis.com/gongwen/672278.html