sqlplus 用户名/密码
例如:sqlplus scott/tiger
这样就连接到了数据库
SQL>exit
SQL>disc
SQL>col 列名 format a数值
若不设置列宽,字段太多的话显示的效果不好
SQL>col username format a8;
SQL>col password format a8;
SQL>select * from book;
SQL>set pagesize 长度
例如:
SQL>set pagesize 10;
在我们进行增删改时必须要提交事务,手动提交的话不太方便,我们可以在数据库用命令设置提交 自动提交。
察看当前事务提交的状态
SQL>show autocommit
开启自动提交事务
SQL>set autocommit on;
SQL>show autocommit;
①数值类型的替换变量(注:&x不加单引号)
用&x替换变量中要输入的值
SQL>select id,username,password from book where id=&n;
②字符类型或日期类型的替换变量(注:&x加单引号)
用‘&x’替换变量中要输入的值
SQL>select id,username,password from book where username=‘&n’;
③用于列名、表达式替换变量
1.1替换列名
SQL>select &username from book;
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200324112324737.png)
1.2替换表达式:
SQL>select username form book where &var;
SQL>define n = 997;
SQL>define
SQL>undefine n ;
SQL>variable gno number
格式:SQL>prompt 字符串
例如:
SQL>prompt 你是不是傻啊!
格式:SQL>accept 变量名 变量类型 prompt 提示信息
例如:
SQL>accept xyz number prompt 请输入xyz的值:
格式:pause 文本
CREATE USER username identified by password
[default tablespace tablespace]
[temporary tablespace tablespace]
[QUOTA {正整数[K|M]|UNLIMITED } ON表空间名…]
SQL> connect system/orcl;
SQL> CREATE USER usera identified by usera
default tablespace users
temporary tablespace temp;
SQL> DROP USER usera cascade;
注意:cascade为级联删除
CREATE TABLE [ schema.]table_name
(column_name datatype [DEFAULT expression][column_constraint],…n)
[PCTFREE integer]
[PCTUSED integer]
[INITRANS integer]
[MAXTRANS integer]
[TABLESPACE tablespace_name]
[STORAGE storage_clause]
[CLUSTER cluster_name(cluster_column,…n)]
[AS subquery];
语句说明:
table_name:表的名称。
column_name:指定表的一个列的名字。
Datatype:该列的数据类型。
DEFAULT expresssion:指定由expresssion表达式定义的默认值。
column_constraint:定义一个完整性约束作为列定义的一部分。
column_constraint子句的基本语法格式为:
CONSTRAINT constraint_name
[NOT] NULL
[UNIQUE]
[PRIMARY KEY]
[REFERENCES [schema.] table_name(column_name)]
[CHECK(condition)]
其中:[NOT] NULL定义该列是否允许为空;UNIQUE定义字段的唯一性;PRIMARY KEY定义字段为主键;REFERENCES定义外键约束;CHECK(condition)定义该列数据必须符合的条件。
PCTFREE:指定数据块中必须保留的最小空闲空间比例,默认值为10。
PCTUSED:设置数据块是否可用的界限。默认值为40。
INITRANS:指定分配给表的每一数据块中的事务条目的初始数量。默认值为1。
MAXTRANS:指定可更新分配给表的数据块的最大并发事务数。默认值为数据块大小的函数。
TABLESPACE:指定表存放在由tablespace_name指定的表空间中。如果不指定此项,则表存放在默认表空间中。
CLUSTER:指定该表是命名为cluster_name的簇的一部分。
AS subquery:表示将由子查询返回的行插入到所创建的表中。
SQL> CREATE TABLE Employee --雇员信息
(EmpId NUMBER(4) CONSTRAINT PK_EM PRIMARY KEY,
EName VARCHAR2(10) NOT NULL,
job VARCHAR2 (9),
MGR NUMBER(4),
HireDate VARCHAR2 (20),
BaseSal NUMBER(7,2),
Comm NUMBER(7,2),
DeptId NUMBER(2) CONSTRAINT FK_DEPT REFERENCES Department(DepId)
);
SQL>drop table 表名
ALTER TABLE [schema.]tablename
[ADD (columnname datatype
[DEFAULT expression][column_constraint],…n)]
[MODIFY (columnname datatype
[DEFAULT expression] [column_constraint],…n)]
[DROP COLUMN columnname]
SQL> ALTER TABLE Employee ADD Sex CHAR(2);
SQL> ALTER TABLE Employee MODIFY Ename varchar2(16);
SQL> ALTER TABLE Employee RENAME COLUMN HireDate to Hire_Date;
SQL> ALTER TABLE Employee DROP COLUMN sex;
SQL> ALTER TABLE Employee DROP (sex,Comm);
SQL> ALTER TABLE Employee RENAME TO Empl;
或者:
SQL> RENAME Employee TO Empl;
SQL> COMMENT ON TABLE Employee IS ‘雇员表’;
SQL> COMMENT ON COLUMN Employee.Basesal IS ‘基本工资’;
SQL> DROP TABLE student;
SQL> INSERT INTO Department VALUES (50,'SUPPORTING','ZHUHAI');