1. 程式人生 > >SQL基礎語法

SQL基礎語法

默認 delet 需要 asc 右連接 del databases union tno

命令行下命令:

進入: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 emp

order 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 by
with 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基礎語法