oracle-增删查改

 day01
==========养成好习惯:Oracle里养成句末打;的习惯,养成多commit的习惯======================
建表以后 修改字段名
alter table student rename column email to youxiang;
建表以后 修改字段类型
alter table student modify youxiang varchar2(10);
保存点的使用:
	保存点已创建:savepoint fst;
	回退已完成:rollback to fst;

oracle  神谕/神喻  他的第一个客户=>CIA
sqlplus = 让我们和数据库进行交流
服务打开方法:我的电脑,管理,
       	        services.msc  = 进入服务,查看是否启动
	需要开启两个服务:(不用了就关上,浪费cpu)
		OracleServiceORCL -开启
		OracleOraDb11g_home1TNSListener-开启       ,不用就关了
DML:中的修改,对数组修改
DDL:中的修改,对表格修改
查看当前用户: show user
拿到当前的日期:sysdate
提交数据,不然查不到:commit;
授权,必须由上级用户来
删除可以自己删自己(bug)
用edit建表:写出表了之后,一个/就建表

修改:edit ,
		但是用edit来创建,里面加;就会报错
			但是表已经创建出来,用edit修改表,就可以加;
		create table创建表的时候)后面加上;		);
===现在的表都在"SCOTT"中创建的
建表以后删除表:drop table teacher purge;//净化,只有表空间留这,			//删除表的区别
	truncate截断表:表结构留着(只留着表头),其他都删了(数据删了),不可以回滚
删除表的三步:先后删除:表数据 表空间 表结构 


模糊查询:
	like像:模糊查询
		select * from teacher where name like 'xiao%';//xiao开头
		select * from teacher where name like '%ao%';//只要是ao就行
		扩展:百度里 搜索Oracle会提示,用的%实现的
	%:代表任意位的任意字符
	_:代表一位上的任意字符
	select * from teacher where name like 'xiao___';//看看有几个
escape:逃离符
	作用:把特殊含义的字符当成普通字符,拿出有这个字符的数据来	
	定义的那个字符前面加上一个  .  ,  (作用域 一位)
我觉得selete和escape的好好看看
===============================================
SQL = Structured Query Language => 结构化查询语言

DDL   DML  DQL  DCL  TCL

DDL => Data Ddefination Language => 数据定义语言
create  创建     alter  修改      drop  扔掉      truncate  截断
--------------------------------------------
DML=>Data Manipulation Language => 数据操纵语言
insert  新建       delete  删除     update   修改

DQL =>Data Query Language => 数据查询语言
select  查询
--------------------------------------------
DCL=>Data Control Language =>数据控制语言
grant  授权     revoke  取消授权

TCL=>Transaction Control Language =>事务控制语言
commit  提交       rollback  回滚       savepoint  保存还原点  
==============================================
忘了密码怎么办?
1.win+sqlplus /nolog
2.conn /as sysdba
3.alter user scott identified by etoak;
	 大用户		小用户
4.conn system/etoak
==============================对用户操作
如何解锁一个用户:
alter user scott account unlock;
如何锁定一个用户:
alter user scott account lock;
如何修改用户密码:
alter user scott identified by et;
如何给用户授权:
grant dba to scott;
如何给用户取消授权:
revoke dba from et1806;
如何创建一个新用户:
create user et1806 identified by etoak;
如何删除用户:
drop user et1806;
查看当前用户:
show user;
如何切换用户:conn 用户名/密码;(conn system/etoak;)
	        conn 用户名	(conn system)不加密码,下面在写	
==========================对表操作
oracle当中的数据类型:
字符型:
	char(10)            固定长度    0-2000		(10)代表字节个数
	char(1)              1  2 	 		应用男女
	varchar2(10)     可变长度    0-4000
	long
数值型:
	number(7,2)//第一个参,几个数,第二个参,小数个数
日期型:
	date
timestamp   时间戳(包含毫秒数)

如何创建一张表:
       创建类		   建表
class Student{                   create table student(
    String name;                     name varchar2(20),
    int  age;                             birthday  date,
    char gender;                      salary  number(5,2)
}                                         );

查找sqlplus所在目录(老师的安装目录)
E:\app\Brain\product\11.2.0\dbhome_1\BIN\sqlplus.exe

如何查看已经存在的表结构:
desc student;
如何修改已经创建好的表名:
alter table student rename to teacher;
建表以后 增加字段
alter table student add email varchar2(20);
建表以后 修改字段名
alter table student rename column email to youxiang;
建表以后 修改字段类型
alter table student modify youxiang varchar2(10);
建表以后 删除字段
alter table student drop column youxiang;
建表以后 删除表
drop table student2 purge;
truncate table student;
建表以后删除表:drop table teacher;//只有表空间留这,			     //drop和truncate的区别
		drop table teacher purge;//净化,什么也不剩
	truncate截断表:表空间留着,表结构留着(只能删数据),其他都删了,不可以回滚
删除表的三步:先后删除:表数据 表空间 表结构 
==========================================对数据操作 重点
插入一条数据:

	insert into teacher(name,salary,birthday) values('xiaowang',123.45,sysdate);
		//先给出格式,按照前面定义的顺序
	insert into teacher values('xiaowang',sysdate,345.23);//直接写,按照表顺序
修改数据:
	update student set name = 'xiaoli';
			set name:所有名字改为xiaoli
	update student set name = 'xiaowang' where salary = 123.45;
			where salary=123.45:salary是123.45的都改为xiaowang
	update student set name = 'xiaobai',salary = salary + 200 where name = 'xiaoli';
		这里的,是且的意思,  具体到那个数据,空格+where name=‘chi’;
			名字是xiaoli的 salary改为salary+200,名字改为xiaobai
删除数据:
	delete from student where name = 'xiaowang';
查询数据://查询 哪个表(from XXX),但是不推荐查看*所有,效率低
	select * from student;
	select name,salary from student;(查看想看的)
	select * from student where name = 'xiaobai'
========================================================
like
%:代表任意位的任意字符
_:代表一位上的任意字符
select * from student where name like 'xiao%';
select * from student where name like 'xiao___';
select * from student where name like '%bai';
select * from student where name like '%ao%';

escape:逃离符						//与like 连用
通过指定一个字符位进行逃离,来保证like之后的字符串中出现的字符
看作是普通字符
select * from student where name like 'xiao._._%' escape '.';		//查询名字是 xiao__
	escape:逃离符
	作用:把特殊含义的字符当成普通字符,拿出有这个字符的数据来	
	定义的那个字符前面加上一个  .  ,  (作用域 一位)
=======================================
where后面是条件		
		这里的,是且的意思,  具体到那个数据,空格+where name=‘chi’;				
update 表名 set 字段 
	where 表中的数据,where name=XXX,		where salary=XXX,

insert into 表名 	
	insert into teacher(name,salary,birthday) values('xiaowang',123.45,sysdate);
						//先给出格式,按照前面定义的顺序
	insert into teacher values('xiaowang',sysdate,345.23);//直接写,按照表顺序
delete from 表名 where 字段
	删除只要有那一项数据的一行
select 字段,字段 from 表名;查看想看的
查看	select * from 表名 看所有
	select * from where 字段 =XXX 看想看的

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值