介紹mysql數(shù)據(jù)庫的基本操作,曾、刪、查、改。查詢表的外連接等常用數(shù)據(jù)庫語句。設置數(shù)據(jù)庫可以被其他計算機連接 。
下面是我總結(jié)的一些基礎的sql知識,主要是為了以后更好的查閱和幫助其他初學的人,同時記錄自己的成長,還寫了一點稍有有技術的sql語句。
目錄:
1.新建數(shù)據(jù)庫
2.新建數(shù)據(jù)表
3.查看表結(jié)構(gòu)
4.增刪改查
CREATE?DATABASE?mytest?CHARACTER?SET?gbk #刪除數(shù)據(jù)庫 DROP?DATABASE?mytest 表的操作 #創(chuàng)建表(create?table?表名(columns)) CREATE?TABLE?students( id?INT?PRIMARY?KEY, NAME?CHAR(10)?NOT?NULL, sex?CHAR(4)?NOT?NULL ); #刪除表(drop?table?表名) DROP?TABLE?students #在表格中插入數(shù)據(jù)(insert?into?表名(屬性)?values(對應的值)) INSERT?INTO?students(id,NAME,sex)?VALUES(1,"張三","男") #更新表格數(shù)據(jù)(update?表名?set?鍵=值,鍵=值?where?條件)中間要用“,”隔開,其他的無效??set只需寫一個 UPDATE?students?SET?id=2?,?NAME="a"?WHERE?id=1 #刪除表中數(shù)據(jù)(delete?from?表名?where?條件) DELETE?FROM?students?WHERE?id=0 #查看表中數(shù)據(jù)(select?查詢的東西?from?表名?where?條件) SELECT?*?FROM?students?WHERE?id=1 SELECT?*?FROM?students?ORDER?BY?age?DESC(order?by升序,order?by?列名?desc降序) 列 #添加列(alter?table?表名?add?列名?字段類型) ALTER?TABLE?students?ADD?tel?CHAR(20) ALTER?TABLE?students?ADD?address?CHAR(50)?AFTER?sex #刪除列(alter?table?表名?drop?列名) ALTER?TABLE?students?DROP?address #修改列屬性(alter?table?表名?change?需要修改的列名?修改后的列名?新列名字段類型) ALTER?TABLE?stu?CHANGE?telphone?tel?CHAR(20)?DEFAULT?"-" ALTER?TABLE?students?CHANGE?tel ALTER?TABLE?students?RENAME?stu 簡單函數(shù) SELECT?SUM(age)?AS?"總年齡"?FROM?students SELECT?AVG(age)?AS?"平均年齡"?FROM?students SELECT?MAX(age)?AS?"最大年齡"?FROM?students SELECT?COUNT(id)?AS?"人數(shù)"?FROM?students(統(tǒng)計人數(shù)選擇主鍵不然可為空的列會影響結(jié)果) 分組 表內(nèi)容: 2005-05-09?勝 2005-05-09?勝 2005-05-09?負 2005-05-09?負 2005-05-10?勝 2005-05-10?負 2005-05-10?負???? 如果要生成下列結(jié)果,?該如何寫sql語句? ??????勝?負 2005-05-09?2?2 2005-05-10?1?2 SELECT?DATA?AS?"?",SUM(result='勝')?AS?"勝"?,SUM(result='負')?AS?"負"?FROM?test1?GROUP?BY?DATA?Case?when(case?屬性=“”?then?“”?end) 寫出由table1.table2得到table3的sql語句? SELECT?t1.部門dep,SUM(CASE?WHEN?月份mon='一月份'?THEN?業(yè)績yj?ELSE?NULL?END)?AS?'一月份', SUM(CASE?WHEN?月份mon='二月份'?THEN?業(yè)績yj?ELSE?NULL?END)?AS?'二月份', SUM(CASE?WHEN?月份mon='三月份'?THEN?業(yè)績yj?ELSE?NULL?END)?AS?'三月份'?FROM?table1?t1?LEFT?JOIN?table2?t2?ON?t1.部門dep=t2.部門dep?GROUP?BY?部門dep 左連接與右連接(left?join?表名?on?連接語句) Left?join與right?join區(qū)別就是:左連接是以主表為主,顯示所有內(nèi)容,若連接的表沒有與它對應的值則不顯示或顯示為null,右連接同理。 內(nèi)連接 用一條SQL語句查詢出每門課都大于80分的學生姓名(表名為score) Select?distinct(去重)?name?from?score?where?name?not?in( Select?name?from?score?where?fenshut4 (上分別為t3.t4)
? 版權(quán)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載。
THE END