sql基礎文法複習

來源:互聯網
上載者:User

標籤:shell指令碼   順序   values   替代   val   表名   去重   多表   顯示   

約定:資料庫名:test;表名:tb1,tb2,tb3…;

 

對象:資料庫:database  表:table  列:column  索引:index  視圖:view  預存程序:procedure  

 

一、資料結構操作

  新增:create  刪除:drop  查看:show  修改:alter

    資料庫一般不做修改,資料庫改名:rename...to...,但是不推薦使用,有遺失資料的風險。

      解決方案:當資料量小時,建立一個資料庫,把原資料庫的資料匯入到新資料庫。

           當資料量大時,使用shell指令碼重新命名所有的表。

      溫馨提示:操作有風險,請你先備份!

    

  例:

  1、新增資料庫  CREATE DATABASE test;

  2、選擇資料庫  USE test;  

  3、查看資料庫  查看有哪些資料庫:SHOW DATABASES;   顯示當前使用的資料庫:SELECT DATABASE();

  4、刪除資料庫  DROP DATABASE test;

  5、新增表    CREATE TABLE tb1(column_name1 datetype);

  6、刪除表    DROP TABLE tb1;

  7、修改表名   ALTER TABLE tb1 RENAME TO new_tb1;

  8、已有表中的列操作  新增:ALTER TABLE tb1 ADD column_name string  刪除:ALTER TABLE tb1 DROP COLUMN column_name

               修改:ALTER TABLE tb1 ALTER COLUMN column_name datatype(SQL/MS Access)

                  ALTER TABLE tb1 MODIFY COLUMN column_name datatype(My SQL/Oracle)

 

 

二、資料操作

  新增(插入):insert into(into可省略)  table_name()插入資料的表名(指定欄位名)(可以不指定欄位,資料按列名順序依次插入) values():插入的資料

  insert table_name() values();

  修改:update  設定:set

  update table_name set column1=value1,column2=value2 where ...

  刪除:delete  刪除某行資料,沒有where則刪除所有行 誤區:刪除資料是按行算的,不能說刪除某行資料中的某個值,如果要這樣做的話要用update把值改為空白

  delete from table_name where column1=value1;

  尋找:select...from...  去重:distinct  查詢條件:where  多條條件運算子:add/or/between/in  結果集排序:order by...ASC(升序)/DESC(降序)

  select distinct column_name from  table_name where column_name operator value add/or column_name2 operator value2 order by  column_name,column_name2 ASC/DESC;

 

  例:

  1、給表1插入一條資料  

    insert tb1 values("id","name","age","code","class"...);

  2、修改表1中名字叫張三的人的學號,改為001  

    update tb1 set code="001" where name=‘張三‘;

  3、刪除表1中年齡大於22的資料

    delete from tb1 where age>22

  4、查詢表1中年齡等於22歲且名字都叫張三的學生都屬於哪些班級並按班級升序

    select distinct class from tb1 where age=22 add name=‘張三‘ order by class asc;

 

三、查詢詳解

  1、where條件常用運算子:

      =,<>,<,>,<=,>=,between and,in(,,),like,not,add,or

  2、like模糊查詢常用萬用字元:

    %  替代一個或多個字元

    -  公替代一個字元

    [charlist]  字元列中的任何單一字元

    [!charist]或[^charlist]  不在字元列中的任何單一字元

  3、as別名

    作用:將結果列改為需要的名稱;用別名識別欄位的來源(來自哪張表);給列的函數結果命名

  4、函數

    MAX/MIN  最大值/最小值

    SUM    合計值

    AVG    平均值

    COUNT    行數

    TOP    返回記錄的前幾條    

    GROUP BY  分組

    HAVING  where不能與group by一起使用,用having來代替where

  5、多表查詢時,列名要加上表名

    select tb1.name,tb2.name,tb3.age from tb1,tb2,tb3;

 

sql基礎文法複習

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.