1. 程式人生 > >sql基礎語法復習

sql基礎語法復習

clas 刪除數據 where條件 update 選擇 har opera databases like

約定:數據庫名: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基礎語法復習