Oracle数据库
基础命令
登录用户:conn 用户名;后输入密码,或者直接conn 用户名/密码;
在权限为管理员用户前提下:
创建用户:create user 用户名 identified by 密码;
修改密码:alter user 用户名 identified by 密码;
授权:grant 授权内容/角色 to 授权用户;
收回权限:revoke 权限内容/角色 to 收权限用户;
显示当前用户:show user;
数据定义语言ddl (create alter drop)
create建表命令:create table 表名(表内数据结构);
在一张表内,拥有一个主键约束primary key,即该项为表内唯一标志,不可重复,还可拥有多个非空约束not null,即该项在表内不能为空,必须有数据写入
例:
create table student(
id number(4) primary key,
name varchar2(20) not null,
sex char(3),
brithday date,
bonus number(7,2)
);
此即创建表,完成之后可以通过select * from 表名;查看表内所有内容,或者通过desc 表名;查看指定表的数据结构;
然后就是向表中插入数据(该部分会在dml中展开,这里只用基础形式)
插入基础形式:insert into 表名 values(按照数据结构一一对应,用,隔开);
例:
insert into student values(1001,'老王','男','29-9月-20',null);
insert into student values(1004,'老李','男','29-8月-20',441,200);
insert into student values(1003,'老钱','男','29-7月-20',3002,300);
insert into student values(1002,'老孙','男','29-6月-20',200,499);
在插入完成数据之后,基础表创建完成,不光有这种先创建表结构,再插入表数据的建表方式,还有直接复制另一张表内容的建表方式
例:
--复制一张表,同时复制表结构和数据
create table student_copy as select * from student;
--复制表,只要表结构,不要数据,可以利用条件过滤掉数据
create table student_copy02 as select * from student where 1<>1;--这里的1<>1即为1!=1,旨在让后面的条件不成立,这样就无法选中任何数据,就会只把表头复制过来创建新表copy02
--复制表,但是只复制几个字段
create table student_copy03 as select name,bonus from student;
alter修改表结构命令:alter table 表名 操作命令 命令对象;
与delete命令最大的不同在于,alter操作的对象为表结构,即字段内容而非表内数据
例:
--向表中添加字段classId
alter table student add (classId number(3));
--删除字段 alter table 名 drop column 字段名(单个)
alter table student drop column classId;
--删除多个字段
alter table student drop (classId,bonus);
--修改字段的长度
alter table student modify (name varchar2(50));
--添加多个字段
alter table student add (test01 number(1),test02 varchar2(20));
--改表格的名
alter table student rename to student_new;
alter table student_new rename to student;
--改字段的名
alter table student rename column test02 to score;
drop删除表命令:drop table 表名;区分delete,truncate,drop,其中drop是连同表结构一起删除,而delete和truncate只删除其中数据部分
例: