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 看想看的
oracle-增删查改
猜你喜欢
转载自blog.csdn.net/qq_41345773/article/details/102806420
今日推荐
周排行