數據定義語句(DDL語句)

創建表

create  table  表名(
    字段名1  類型,
    字段名2  類型,
     ........ 
    字段名n  類型);

類型有:  sql

  • char(n)       是一個類型,叫定長字符串,數據不夠就補空格
  • varchar2(n) 是變長字符串(有多少就存多少,不會補空格)

爲何要有這兩種?

這是由於計算機是時間和空間的結合體,省時就浪費,不浪費就費時。好比結構體的對齊和補齊就是提升尋址效率的,可是浪費空間定長的字符串效率高,可是會浪費空間。變長字符串效率低一點,可是省空間。咱們通常使用變長字符串,除非是那些基本上不改變長度的字符串就用定長字符串,至於提升效率方面還有別的語句去優化。數據庫

  • number(n,m)數字類型  n-m個整數位,m位小數位
  • number      通常用這個,不用指定幾個整數幾個小數(就像%f和%3.2f)
  • date         是日期類型

通常記上面這四種就行oracle

 

還有其餘的:可是都不怎麼用了優化

由於通常都存儲這些數據對應的路徑,不用放到數據庫中3d

  • BLOB   0~4g  大二進制
  • CLOB   0~4g  大字符類型  
  • varchar2(n)通常能存幾k左右(就是幾千個字符)

演示:創建一張表(取別名和表名時不要用關鍵字,公司多會規定表名)

字段:blog

    • id   number ,
    • fname  char(10),
    • sname varchar(10)【沒有寫2沒關係,oracle會自動加2】,
    • salary number
create table emp1111(id number, fname char(10), sname varchar(10), salary number); 

再查看:字符串

desc emp1111;

 

插入數據:table

insert into emp1111 values(1, 'xsy', 'xsy', 12345);

 

查詢表:class

select * from emp1111;

 

查看定長字符串和變長字符串在長度上的區別:效率

select length(fname), length(sname) from emp1111;

 

查詢具體的數據也有區別,查詢字符串‘xsy ’(帶一個空格):

select * from emp111 where fname='xsy';

 

刪除表

drop table  表名;

若是有人在操做該表,沒有提交,就不能刪除掉表,會提示正忙。

drop table emp1111;

修改表結構(用的很少,通常是刪表重建)

drop column  字段名;  刪除一個字段
add  字段名  類型;    增長一個字段

先創建一張表,有四個字段:

create table emp1112(id number, fname char(10), sname varchar(10), salary number);

 

刪除一個字段:

alter table emp1112 drop column salary;

 

查看結果:

desc emp1112;

 

再加一個字段:(oracle裏add不寫colum,有些數據庫要加)

alter table emp1112 add salary number;

 

查看結果:

desc emp1112;

相關文章
相關標籤/搜索