数据库存储数据 表格只能以字母,数字,下划线,#$组成,必须字母和$开头 --注释
创建表的语法: create table 自定义的表名( --定义数据列 列名 数据类型 ) create table tb_student( stuid number, money number(5) )
--选中命名按F8执行 create table tb_student( stuid number, stuname varchar2(200), sex char(2), birthday date )
?
?
--删表,会把表的结构和数据一并删除 drop table tb_student;
orcle数据类型 数值类型: number:这个类型作为oracle常用数值类型,可以存储整型 和浮点类型的数据,并且最大10的38次方幂 除了number还有float,double,integer等 number如果后面不跟任何长度,没有限制, number(5)最大的五位整数,这里最大值99999并且不可以放小数
字符类型 char(长度) char最大长度为2000个字节,并且查询效率高效 但是缺陷是如果内容达不到最大字节,会以空格填充 varcahr(长度) 最大4000个字节,虽然效率没有char高但是多余的空间不会被空格填充 varchar2(长度)oracle自定义的,和varchar一样 BLOB CLOB:k可以存储最大4G的字节,通常用来存储图片, 视频等文件的流
时间类型 date 年月日时分秒 timestamp 精确到毫秒
?
--DML,(数据操纵语言)DCL(数据库控制语言),DDL(数据库定义语言)
--修改列 alter table tb_student modify birthday timestamp
--删除列 alter table tb_student drop column birthday --添加列 alter table tb_student add borthday date --修改列名 alter table tb_student rename column borthday to birthday --修改表名 rename tb_student to student --删除表 drop table 表名; drop table tb_student;
注意:oracle中所有的语句不区分大小写,但是数据区分大小写 --DML(insert,delete,update,select)
--insert 用于向表中插入数据 insert into 表名(指定要插入的哪几列的列名,逗号分隔) values(要插入的数据,个数要和前面那个括号指定的列数一致,类型对应)
insert into tb_student(stuid,stuname,sex) values(1001,‘小奥拉‘,‘男‘); --如果要执行多个sql语句结尾添加分号 --使用commit会把当前事务中执行的多条DML语句提交 commit
--第二种方式,如果创建表的时候指定列不为空 not null,插入全部的列 --插入时间的第一种方式,通过sysdate取得系统时间 insert into tb_student values(1003,‘aa‘,‘女‘,sysdate); commit
--第二种,按照标准格式录入 日-xx月-年份 insert into tb_student values(1004,‘bb‘,‘7-3月-2019‘); commit
--第三种用到oracle函数 to_date(字符,格式) to_date(‘2019-12-21 15:21:59‘,‘YYYY-MM--DD HH:MI:SS‘)
insert into tb_student values(1006,‘gg‘,‘男‘,to_date(‘2019-12-21 15:21:59‘,‘YYYY-MM--DD HH24:MI:SS‘)); commit
--Delate删除语句 delate用于删除表中的数据,和drop不同,drop删除整个表的定义 delate from 表名 [where 条件]
delate form tb_student; commit;
--如果不想删除所有的数据,就使用where关键字,筛选要操作的数据 where后面跟随着条件,条件的表达式可以使用: > < >= <= = != <>(不等) and or
--删除性别为女的学生 delete from tb_student sex = ‘女‘
--删除性别不为女的学生
delete from tb_student where sex <> ‘女‘ --删除学号为1002同时性别为男的学生 delete from tb_student where sex = ‘男‘ and stuid=1002
--删除名字为null的学生的信息(不为空 is not null) delete from tb_student where stuname is null
--修改Update,用于修改表中的列的数据 update 表名 set 列名 = 新的value,列2=value where 条件 --修改2019-03-07号生日的学生性别改为女 --使用to_char(时间类型的数据,字符串格式) update tb_student set sex=‘女‘ where to_char(birthday,‘yyyy-mm-dd‘)=‘2019-03-07‘
--select 查询 ,查询只是一种数据表的显示方式,并不会修改内容 select * from 表名 --这种方式会查询一个表的全部的列 select 列,列2,列 from 表名
select * from tb_student;select stuid,stuname from tb_student--查询也可以跟where条件 性别为女或者年龄大于5岁select * from tb_student where sex = ‘男‘ or (sysdate-birthday)/365>=5--第二种,使用to_char取得年份相减select * from tb_student where sex = ‘男‘ or to_char(sysdate,‘yyyy‘)-to_char(birthday,‘yyyy‘)>=5
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|