zoukankan      html  css  js  c++  java
  • 数据定义语句(DDL语句)

    建立表

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

    类型有:  

    • char(n)       是一个类型,叫定长字符串,数据不够就补空格
    • varchar2(n) 是变长字符串(有多少就存多少,不会补空格)

    为什么要有这两种?

    这是因为计算机是时间和空间的结合体,省时就浪费,不浪费就费时。比如结构体的对齐和补齐就是提高寻址效率的,但是浪费空间定长的字符串效率高,但是会浪费空间。变长字符串效率低一点,但是省空间。我们一般使用变长字符串,除非是那些基本上不改变长度的字符串就用定长字符串,至于提高效率方面还有别的语句去优化。

    • number(n,m)数字类型  n-m个整数位,m位小数位
    • number      一般用这个,不用指定几个整数几个小数(就像%f和%3.2f)
    • date         是日期类型

    一般记上面这四种就行

    还有其他的:但是都不怎么用了

    因为一般都存储这些数据对应的路径,不用放到数据库中

    • BLOB   0~4g  大二进制
    • CLOB   0~4g  大字符类型  
    • varchar2(n)一般能存几k左右(就是几千个字符)

    演示:建立一张表(取别名和表名时不要用关键字,公司多会规定表名)

    字段:

      • 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;

     

    插入数据:

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

     

    查询表:

    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;

     

  • 相关阅读:
    【Python】【文件】查找指定路径中是否存在目标文件(含此路径下的子文件夹)
    时隔一年的2020noip
    nacos 笔记
    webflux 小例子
    spring Initializr 笔记
    临时~spring启动过程
    Mac通过crontab设置定时任务报错Operation not permitted
    Isolation Forest Implementation(孤立森林)
    let arr=['a'] JSON.stringify(arr) 输出:“['a']” let arr2 = “['a']” JSON.parse(arr2) 输出: ['a']
    js对象中key值加引号和不加引号的区别
  • 原文地址:https://www.cnblogs.com/cjaaron/p/9214450.html
Copyright © 2011-2022 走看看