sql基本用法

sql基本用法


oracle的常用數據類型

  • varchar2 0~4000 可變長 ASCII編碼
  • nvarchar2 0~1000 可變長 Unicode編碼
  • number(p,s) p最大進度38 s保留的小數位數
  • date 日期,時間
  • timestamp 日期時間精確到毫秒
  • clob 4G 存儲字符串
  • blob 4G 二進制

建表語句

    create table table_name(
        column_name datatype,
        ...
        column_name datatype
    )

修改表列屬性

    alter table table_name 
        add column_name datatype     //添加列
        modify column_name datatype  //修改列類型
        modify column_name  null || not null;  //修改列屬性能不能爲空
        drop column column_name      //刪除列

添加表字段約束

    alter table table_name 
        add constraint constraint_name primary key(column_name);    //增添主鍵約束    
        add constraint constraint_name check (condition)           // check約束比如:name !='a'
        add constraint constraint_name unique (column_name)        //添加唯一約束在column_name列

刪除表字段約束

    alter table table_name 
     drop constraint constraint_name                              //刪除constraint_name的約束

插入數據

    insert into table_name                                        //一條一條插入
        (column_name1,column_name2,column_name3,...,column_nameN)
    values
        (value1,value2,value3,...,valueN)

    insert into table_name                                       //從其他表導入
        (column_name1,column_name2,column_name3,...,column_nameN)
        select 
            column_name1,column_name2,column_name3,...,column_nameN from 
        from table_name2

修改數據

   update table_name 
    set 
        column_name1 = value1,
        column_name2 = value2,
        column_name3 = value3,
        ...
        column_nameN = valueN

刪除數據

   delete from table_name 
        where column_name=value

查詢數據

    select 
        [distinct| all]
    from 
        table_name
    [where]
        > >=  > >= != <>
        is null
        like 
        between and
        in 
        and 
        or 
        not
    [group by]
    [having]
    [order by]

表連接

    select * from table_name1,table_name2                           //等值連接
        where table_name1.a=table_name2.b               

    select * from table_name1                                       //左外連接
        left join table_name2
        on table_name1.a=table_name2.b

    select * from table_name1                                       //右外連接
        right join table_name2 
        on table_name1.a=table_name2.b

    select * from table_name1 as table1, table_name1 as table2       //自連接
      where table1.a=table2.b

    select * from table_name1 
        full join table_name2 
        on table_name1.a = table_name2.b         //全外連接 返回左外連接和右外連接的並集

添加索引

    create [unique] index index_name
        on table_name(column_name1,column_name2,column_name3,...,column_nameN)

修改索引

    alter index index_name
       rename to last_index_name

刪除索引

    drop index index_name
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章