总结
面试建议是,一定要自信,敢于表达,面试的时候我们对知识的掌握有时候很难面面俱到,把自己的思路说出来,而不是直接告诉面试官自己不懂,这也是可以加分的。
以上就是蚂蚁技术四面和HR面试题目,以下最新总结的最全,范围包含最全MySQL、Spring、Redis、JVM等最全面试题和答案,仅用于参考
create user 用户名
identified by 密码
default tablespace 表空间的名称
2、创建用户
在itzheng表空间当中创建用户itzhenguser密码为root
create user itzhenguser
identified by root
default tablespace itzheng
3、登录用户,发现无法登录
登录用户itzhenguser
无法登录:缺少创建会话的权限,登录被拒绝
4、授予用户权限(后登录)
新创建的用户没有任何权限
(1)Oracle当中以及存在三个重要的角色:connect角色,resource角色,dba角色。
(2)设置权限:语法
授权 grant 角色 | 权限 to 用户
(3)实现语句
grant connect to itzhenguser;
(4)登录授予权限的用户
登录itzhenguser
登录成功
5、授予dba的角色(登录切换回system用户)
grant dba to itzhenguser;
6、设置完权限后(登录切换回itzhenguser用户)
7、设置完dba权限后查询任意用户的全部的内容
select * from scott.emp;
1、语法
create table 表名(
列名 列的类型(列的约束),
列名 列的类型(列的约束)
);
2、列的类型
varchar
,在Oracle当中,是目前是支持的,但是不保证以后还支持
varchar2(长度)
:可变字符长度 varchar2(10) hello
占5个字符
char(长度)
:固定长度字符 char(10) hello
占10个字符,用空格填充
number(总长度:小数长度) 数字类型
date 年月日时分秒
timestamp 时间戳,比date类型更加精确
04-SEP-20 06.48.53.991000 PM +08:00
3、创建test1表
create table test1(
name1 varchar2(10),
name2 char(10),
age number(2,3)
);
4、向test1表当中插入数据
insert into test1(name1,name2) values (‘hello’,‘hello’);
5、查询刚创建好的test1表
select * from test1;
可以通过点击光标的方式看出对应的数据的长度
6、在开发过程当中要注意的问题
(1)完全匹配查询
第一种情况:可以匹配查询到test1当中的name1的数据
select * from test1 where name1 like ‘hello’;
第二种情况:不可以匹配查询到test2当中name2对应的数据,因为name2当中的数据是有长度的并且有空格的,
select * from test1 where name2 like ‘hello’;//查不出数据
匹配查询的时候需要在后放加上空格
select * from test1 where name2 like 'hello ';
(2)插入数据(小数长度不能大于等于总长度)
上面在定义的时候,设置总长度为2小数位长度为3(age number(2,3)
)
所以下面在插入数据的时候,小数位
insert into test1(age) values(2.333);
(3)Oracle当中的数据类型
LONG/CLOB
:可以存放一本小说。
BLOB
(二进制大对象):存放电影 Java存进去,再读取出来。
7、使用子查询的方式创建表
create table 表名称 as 查询语句;
复制了scott用户下的emp表
create table emp as select * from scott.emp;
在itzhenguser下查询emp表
select * from emp;
这种方式创建的表是有一个弊端的。
注意:只会复制表结构和表当中的数据,不会复制列的约束。
上面这种方式查询语句是没有任何结果的。
select * from scott.emp where 1=2;
如果查询语句有结果,就是复制 表结果和数据
如果查询语句没有结果,就是复制表结果
所以通过查询出来空语句来通过子查询创建的表是没有任何结果
复制空表的结果还是空
create table emp1 as select * from scott.emp where 1=2;
select * from emp1;
1、添加列
(1)创建一张表
create table stu(
stuid number,
sname varchar(10)
);
(2)在Command Window窗口当中,查看表结构
DDL:数据定义语言,修改结构alter create drop truncate
DML:数据操纵语言,操纵表中的数据 insert update delete
DCL:数据控制语言,grant
DQL :select
(3)添加一列(修改表的结构)
在SQL Windows窗口当中
在Command Window窗口当中:修改成功
(4)添加多列
alter table stu add (mobile varchar2(11),
sex varchar2(2)
);
2、修改列的类型
alter table stu modify sex varchar2(4);
修改成功
3、删除列
alter table stu drop column gender;
删除成功
4、修改列名(将sex该为gerder)
alter table stu rename column sex to gender;
修改成功
5、重命名表名
rename stu to student;
6、删除表
drop table student;
列的约束:约束主要用来约束表当中数据的规则
(一)单表约束:primary key 不能为空,必须唯一
(二)多表约束
1、主键约束
(1)先创建表
create table student (
stuid number primary key,
sname varchar2(10) unique,
age varchar2(10) not null,
gender varchar2(4) check(gender in (‘男’,‘女’))
);
select * from student;
创建成功
(2)插入数据
insert into student values(1,‘张三’,‘31’,‘男’);
insert into student values(2,‘李四’,‘31’,‘男’);
select * from student;
(3)实际测试,违反注主键约束
–主键的约束违反
insert into student values(1,‘张三’,‘31’,‘男’);
insert into student values(1,‘李四’,‘31’,‘男’);
2、非空约束
违反非空约束
insert into student values(1,‘赵六’,null,‘男’);
3、唯一约束
违反唯一约束
– 唯一约束违反
insert into student values(1,‘王五’,‘31’,‘男’);
insert into student values(2,‘赵六’,‘31’,‘男’);
4、检查约束
(1)在mysql当中是可以写的,但是mysql是直接忽略了检查约束
(2)在oracle当中违反检测约束
– 检查约束
insert into student values(1,‘李七’,‘31’,‘妖’);
5、外键约束
主要是用来约束从表A当中的记录,必须是存在于主表B当中的
(1)商品分类表
create table category(
cid number primary key,
cname varchar2(20)
);
(2)创建一个商品表
create table product(
pid number primary key,
pname varchar2(20),
cno number
);
(3)插入一些数据
在category表当中插入数据
insert into category values(1,‘手机数码’);
在没有外键约束的情况下,向product表当中插入没有意义的数据依旧可以插入
insert into product values(10,‘锤子’,11);
在category 表当中没有11这个对应的cid
(4)添加外键对其进行约束
alter table product add foreign key(cno) references category(cid);
最后
由于篇幅限制,小编在此截出几张知识讲解的图解
(2)创建一个商品表
create table product(
pid number primary key,
pname varchar2(20),
cno number
);
(3)插入一些数据
在category表当中插入数据
insert into category values(1,‘手机数码’);
在没有外键约束的情况下,向product表当中插入没有意义的数据依旧可以插入
insert into product values(10,‘锤子’,11);
在category 表当中没有11这个对应的cid
(4)添加外键对其进行约束
alter table product add foreign key(cno) references category(cid);
最后
由于篇幅限制,小编在此截出几张知识讲解的图解
[外链图片转存中…(img-ikwYnfGz-1714868159027)]
[外链图片转存中…(img-5h0WGTBZ-1714868159027)]
[外链图片转存中…(img-pu7HfJIO-1714868159027)]
[外链图片转存中…(img-BB4vwZhs-1714868159028)]
[外链图片转存中…(img-t5pw8n4t-1714868159028)]