This article, let's continue the previous installation, explain the basic syntax of Oracle, so that you can operate and master the SQL statement, say nothing more, load the goods!!!!!!
Before we talk about Oracle syntax, let's understand ↓ ↓ ↓ ↓ ↓ ↓
1, The difference between Oracle and mysql:- MySQL: user name > Database > table
- Oracle: database user name table
2, Database operations
1. Overview
-
Oracle tables associated with users
-
Each user needs to determine the table storage location, which is called table space.
-
There are two kinds of table spaces in Oracle: permanent table space and temporary table space
-
Temporary table space: when using SQL statement operation, the result enters the temporary table space first
-
Persistent tablespace: when commit is executed, the data will move from the temporary tablespace to the persistent tablespace.
-
2. Create tablespace (permanent)
Basic syntax create tablespace tablespace name
datafile 'tablespace save location'
Size is used to set the initial size of the tablespace
autoextend on; used to set automatic growth. If the storage capacity exceeds the initial size, automatic expansion will be started
example:
create tablespace test1 datafile 'G:\JAVA\tools\oracle\space\test1.dbf' size 10m autoextend on; --Automatic space size enhancement
3. Create a temporary table space
grammar
-
Note that there are two differences between temporary and tempfile creation
--Create a temporary tablespace
create temporary tablespace
tempfile 'temporary tablespace location'
size 10m
autoextend on;
example
--Create a temporary tablespace create temporary tablespace test1temp tempfile 'G:\JAVA\tools\oracle\space\testtemp.dbf' size 10m autoextend on;
4. Create user
grammar
--Create user
create user user name
identified by password
default tablespace
temporary tablespace
Quota size on tablespace; -- the quota size currently used in the specified tablespace
example
create user czxy1 -- user name Identified by czxy1 -- password default tablespace test1 -- tablespace temporary tablespace test1temp -- temporary tablespace quota 50m on test1; -- quota size currently used in the specified tablespace
Then log in with this account password
However, there may be a small problem, unable to log in,
Unable to log in through PL/SQL using czxy1, indicating no permission. As shown in the following figure
Don't panic at this time, Huang sir has already prepared for you
Give users all rights (dba) --grant dba to user name; grant dba to czxy002;Run the SQL statement to improve permissions and log in
Successful display:
5. User empowerment (understanding)
grant create session to czxy1;
grant select on hr.employees to czxy001;
6. User role RBAC (understanding)
grant dba to czxy1;
This is to give users DBA permission and then log in
7. Table operation
(1) Create table
Syntax 1: create a new table
create table table name(
Field name type [constraint],
Field name 2 type [constraint],
);
For example:
create table book ( bid int primary key, title varchar2(50) );
Syntax 2: copy a table (structure + data)
create table table name as query statement;
For example:
select * from hr.employees; create table emp as select * from hr.employees;
Classification:
example:
create table student( stuid int, stuname varchar2(20), sex char(1), age number(3,0), birthday date, email varchar2(20), phone char(11) );
(2) Modification table (understanding)
Specific operation data of alter table name;
--Add
alter table table name add (column description,...);
--Modification
alter table table name modify (column description,...);
--Delete column
alter table table name drop column column name;
example:
--1.Add field alter table student add( remark varchar2(20), order_no int ) --2.Modify field alter table student modify( remark nvarchar2(50), order_no varchar2(50) ); --Delete field alter table student drop column order_no;
(3) Delete table
drop table table name
example:
--Delete table drop table student2;
Common constraints
(1) Primary key constraint
Add constraint
-- Primary key constraint 0 -- Method 1: add constraints when creating tables and declaring fields (Only one field can be specified as the primary key) create table pk01( pid int primary key, name varchar2(20) ); -- Method 2: create a table, declare the fields, add constraints (you can set a union primary key) [recommended] create table pk02( pid int, name varchar2(20), constraint pk02_pid primary key (pid) ); -- Method 3: after creation, modify the table structure and add the constraint recommend create table pk03( pid int, name varchar2(20) ); alter table pk03 add constraint pk03_pid primary key (pid);
Delete constraint
-- Delete primary key alter table pk03 drop primary key;
(2) Primary key validation
insert into pk01(pid,name) values(1,'jack'); -- Duplicate execution not allowed insert into pk01(name) values('jack'); -- Not allowed null commit;
(3) Unique, non empty, default
### 2.3.4 unique, non empty, default * Unique constraint, add constraint method and`Primary key constraint`Consistent, i.e. three ways ~~~sql -- Unique constraint (third) create table un01( pid int, name varchar2(20) ); alter table un01 add constraint un01_name unique(name);
Unique verification
insert into un01(pid,name) values(1,'jack'); -- Duplicate execution not allowed insert into un01(name) values('rose'); -- Can be executed commit;
(4) Non empty constraint:
-- Nonnull constraint
create table nn01(
pid int,
name varchar2(20) not null
);
Non empty validation
insert into nn01(pid,name) values(1,'jack'); -- Allow repeated entry insert into nn01(pid) values(2); --Not allowed null commit;
(5) Default constraint:
-- Default constraint create table de01( pid int, name varchar2(20) default('tourist') );
Default validation
insert into de01(pid) values(2); -- Enter only id,name Default visitors commit;
(6) Check constraints
-- Check and verify
create table ch01(
pid int,
sex char(10) check( sex in ('male','female') ),
age int check( age >=0 and age <=100 )
);
Check and verify
insert into ch01(pid,sex,age) values(1,'male',18); -- Can be entered insert into ch01(pid,sex,age) values(2,'Demon',18); -- not allow commit;
(7) Foreign key constraint
Syntax:
--alter table from table add [constraint] [foreign key name] foreign key (from table foreign key field name) references main table (primary key of main table);
example:
Alter table stuinfo add constraint fk_stuno foreign key(stuno) references student(stuno);
composite keys
-
Union primary key: two or more fields, which are combined as primary keys, are called Union primary keys.
-
Application scenario: many to many relationship middle table
drop table student_course; create table student_course( sid varchar2(20) , cid varchar2(20) , score number(4,1) ); alter table student_course add constraint student_course_pk primary key (sid,cid); insert into student_course(sid,cid,score) values('s001','c001',100); --Duplicate not allowed commit;
3, DML (addition, deletion and modification)
DML: data operation language to complete data addition, deletion and modification
1. Add
--Complete usage
insert into table name (field 1, field 2,...) values (value 1, value 2,...)
--Omit usage: value order must correspond to column order in the table
insert into table name values (value 1, value 2,...)
Example:
--insert data --Mode 1 insert into student(sid,sname,phone)values(1,'tom','123'); --Mode 2 insert into student values(2,'aa',null,20,null,null,'111111'); insert into student values(2,'bb','male',18,null,'123@com','22222')
2. Modification
--Syntax 1: update all data in the table
update table name set field 1 = value 1, field 2 = value 2
--Syntax 2: update specified data (condition)
update table name set field 1 = value 1, field 2 = value 2,... where condition
example:
--Modify data ------------ update student set phone='123321' where sid=1;
3. Delete
--Syntax 1: delete all
delete from table name;
--Syntax 2: delete specified data (condition)
delete from table name where condition;
--Syntax 3:
truncate table table name;
example:
--delete --Syntax 1 delete Support rollback --Delete data delete from student where sid=1; --Delete all delete from student; --Grammar 3;Delete table structure,Recreate truncate table student2;
Difference between delete and truncate:
-
Delete delete delete the data in the table. Rollback is supported.
-
truncate deletes the table structure and recreates it.
This is the end of this article, but before the end, we should pay attention to the database operation
When PL/SQL executes DML (add, delete and modify), no data can be queried.
, which can be described in the following three cases:
Adding a piece of data to Oracle: in fact, adding data to temporary tablespace
When will the data from the temporary tablespace be submitted to the tablespace?
A: three situations:
- Commit
- In about half an hour, automatic submission
- Close plsql development tool
-
- Oracle transaction, auto commit closed by default. So you need to submit it manually
Let's move on to the next part!!
After watching, Congratulations, and know a little bit!!!
The more you know, the more you don't know
~Thank you for reading. Your support is the biggest driving force for my study! Come on, strangers work together and encourage together!!