標籤:文法 建立 roo rom 相互 sele 欄位 sql 使用
命令列下命令:
進入:mysql -uroot -p結束當前語句:分號; 或者 \g建立資料庫:create database dbname顯示當前資料庫:show databases使用某資料庫:use test1顯示當前使用資料庫的所有表:show tables刪除資料庫:drop database test1顯示表資訊:desc tablename刪除表:drop table tablename修改表(新增欄位):alter table tablename add newcolumn int(3)刪除表age欄位:alter table tablename drop column age欄位改名:alter table tablename change oldname newname int(4)增:insert into emp (ename,sal) values (‘dony‘,1000)刪:delete from emp where eanme=‘dony‘改:updata emp set sal=4000 where ename=‘dony‘查:selet * from emp
特別:distinct 將查詢的結果去重select distinct * from emporder by 排序 asc和預設是升序 desc是降序limit 分頁 經常跟order by一起使用limit m,n 左開右閉區間,即(m+1,n]select * from emp order sal limit 1,3 表示查詢的結果按照sal升序並查詢第2到第3個彙總:相關函數:sum(求和) count(計數) max(最大) min(最小)group bywith rollup 是否對彙總後的結果進行再匯總having 對分類的結果再進行過濾where 和 having的區別就在於where是彙總前過濾,而having是彙總後過濾內外串連查詢:內串連,僅選擇相互匹配記錄,inner join外串連,可以選擇不匹配記錄外串連分左串連(left join)和右串連(right join)左串連:左串連以左為主,查詢的結果包含全部的左表(即使右表沒有,右表記錄為null)右串連:右串連以右為主,查詢的結果包含全部的右表(即使左表沒有,左表記錄為null)select ename from emp left join dept on dept.deptno=emp.deptno子查詢:查詢的結果需要用到另外一個select語句,需要用到子查詢(in,not in,=,!=,exists,not exists)如果查詢出來的記錄數唯一,可以用=代替in記錄聯合,兩條語句之間加上關鍵字即可union all 直接合并在一起union 將合并的結果進行distinct去重操作
SQL基礎文法