Oracle数据库常用的SQL语言命令
查询所有用户:
select username,account_status from dba_users;
查询表信息:
SQL> desc scott.emp
名称 是否为空? 类型
—————————————– ——– ———————
EMPNO NOT NULL NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NUMBER(2)
创建用户:
SQL> connect system/12345678 as sysdba; #管理员权限
已连接。
SQL> create user test_user identified by 123456; #创建用户名;
用户已创建。
SQL> grant connect,resource to test_user;
授权成功。
SQL> conn test_user/123456; #用新建的用户登陆
已连接。
创建表:
SQL> create table student (sid int primary key, sname varchar(10), sex char(1) check(sex in(‘m’,’w’)), age int);
表已创建。
查看表结构:
SQL> desc student
名称 是否为空? 类型
—————————————– ——– ————
SID NOT NULL NUMBER(38)
SNAME VARCHAR2(10)
SEX CHAR(1)
AGE NUMBER(38)
插入数据:
SQL> insert into student values(‘101’, ‘zhangshang’, ‘m’, 20);
已创建 1 行。
查询表:
SQL> select * from student;
SID SNAME S AGE
———- ———- – ———-
101 zhangshang m 20
102 lisi w 20
创建表 年龄约束 中文表名:
SQL> create table 学生1 (sid int primary key, sname varchar(10), sex char(1) check(sex in(‘m’,’w’)), age int check(age between 6 and 60 ));
表已创建。
查询约束:
SQL> select constraint_name, constraint_type from user_constraints where table_n
ame=’student’;
未选定行?????
子查询1 复制表和数据:
SQL> create table students2
2 as
3 select * from student;
子查询2 复制表和数据 只复制指定记录名:
SQL> create table student3
2 as
3 select sid, sname from student;
表已创建。
子查询3 复制其他表和数据:
SQL> conn test_user/123456 as sysdba;
已连接。
SQL> create table student4
2 as
3 select * from scott.emp;