oracle数据库
system密码修改
1. win + r 输入cmd 2. sqlplus/nlong 3. conn/as sysdba 4.alter user system identified by 新密码;
表操作
创建数据表
create table 表名( column_name column_type, column_name column_type ); column_name 表示列名 column_type 表示列名的数据类型
删除表
drop table 表名;
修改表
添加一个列
alter table 表名 add column column_type;
修改数据类型
alter table 表名 modify column column_type(新的类型);
删除一个类
alter table 表名 drop (column_name);
约束
主键约束 primary key
create table 表名( column_name column_type primary key, column_name column_type, ... );
外键约束 foreign key
create table 表名( column_name column_type, column_name column_type, constraints 约束名 foreign key(column_name) references 另一张表(其主键) on delect cascade );
非空约束
create table 表名( column_name column_type not null; ...... );
检查约束
create table hello1( id number(2), age number(2) check(age>10) );
唯一约束
create table 表名( column_name column_type unique );
数据操作
添加一条记录
insert into 表名 (column_name,column_name...) values (值1, 值2,...);
删除所有
delete from 表名;
删除部分
delete from 表名 where name = '张三'; delete from 表名 where id = 1; delete from 表名 age < 18;
修改数据
update 表名 set 列名 = 新的值; (把 id为1的记录的名字换成 小花 并且年龄修改为15岁并且性别修改为女) update user set name = '小花',age = 15, sex = '女' where id = 1;
查询
查询全部列 * 表示全部列 就是通配符
select * from 表名;
查询某一列或者多列
select column_name from 表名; select column_name, column_name from 表名;
别名
select column_name as "编号", column_name as "编号" from 表名;
修改一列的数据
update 表名 set column_name = '张三' where column_name = '李四';
查询最大的值max , 最小的值min , 平均值 avg
select max(column_name) from 表名; select min(column_name) from 表名; select avg(column_name) from 表名;
去重
select distinct column_name from 表名;
查询排序 order by 排序字段 asc/desc asc 升序 desc 降序
select * from 表名 order by column_name asc; select * from 表名 order by column_name desc;
别名
select column_name 姓名 from 表名;
连接符 把列于列,列与字符连接在一起 用’||‘表示 可以用来 ’合成‘ 列
select column_name || column_name from 表名;
表示表结构
desc 表名;
操作符
select column_name,column_name from 表名 where 判断的条件;
操作符 | 含义 |
---|---|
= | 等于(不是==) |
> | 大于 |
>= | 大于、等于 |
< | 小于 |
<= | 小于、等于 |
<> | 不等于(也可以是!=) |
select column_name from 表名 where column_name = '张三'; select column_name from 表名 where column_name > '张三'; select column_name from 表名 where column_name >= '张三'; select column_name from 表名 where column_name < '张三'; select column_name from 表名 where column_name <= '张三'; select column_name from 表名 where column_name <> '张三'; select column_name from 表名 where column_name != '张三';
操作符 | 含义 |
---|---|
between ...and... | 在两个值之间(包含边界) |
in(set) | 等于值列表中的一个 |
like | 模糊查询 |
is null | 空值 |
is not null | 非空值 |
between
select column_name from 表名 where between 500and1000; select column_name from 表名 where not between 500and1000;
in(set)
select column_name,column_name,column_name from 表名 where column_name in(值1,值2, 值3);
like
select column_name from 表名 where column_name like '%e%'; % 代表零个和多个字符(任意字符) _ 一个下划线代表一个字符
is null
select column_name from 表名 where column_name is null;
is not null
select column_name from 表名 where column_name is not null;
操作符 | 含义 |
---|---|
and | 逻辑与 |
or | 逻辑或 |
not | 逻辑否 |
and
select column_name from 表名 where column_name >= '张三' and column_name like '%MAN%';
or
select column_name from 表名 where column_name >= '张三' or column_name like '%MAN%';
not
select column_name from 表名 where column_name not in (值1,值2, 值3);
排序
默认排序 升序 order by
select coloumn_name from 表名 order by coloumn_name;
降序
select coloumn_name from 表名 order by column_name desc;
升序
select column_name from 表名 order by column_name asc;
按别名排序
select column_name "别名" from 表名 order by "别名";