数据定义语句(DDL语句)
程序员文章站
2022-08-06 09:26:37
建立表 类型有: char(n) 是一个类型,叫定长字符串,数据不够就补空格 varchar2(n) 是变长字符串(有多少就存多少,不会补空格) 为什么要有这两种? 这是因为计算机是时间和空间的结合体,省时就浪费,不浪费就费时。比如结构体的对齐和补齐就是提高寻址效率的,但是浪费空间定长的字符串效率高 ......
建立表
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;
上一篇: asp中文数字验证码
下一篇: 酒喝多了怎样解酒,这些方法不可错过
推荐阅读
-
Python基础一: 计算机基础,Python相关介绍,变量,常量,注释,基础数据类型(int,str,bool),用户交互input,流程控制语句if
-
phpmyadmin里面导入sql语句格式的大量数据的方法
-
AngularJS ng-repeat指令中使用track by子语句解决重复数据遍历错误问题
-
自定义存储过程的Sql语句
-
MySQl数据库必知必会sql语句(加强版)
-
ThinkPHP模板之变量输出、自定义函数与判断语句用法
-
SQL Server 数据库管理常用的SQL和T-SQL语句
-
SqlServer中用SQL语句附加数据库及修改数据库逻辑文件名
-
Oracle轻松取得建表和索引的DDL语句
-
用SQL语句查询数据库中某一字段下相同值的记录方法