SQL 入门
创建
怎么创建?
数据类型
表的列,字段
创建表
SQL*Plus命令行工具
1 | sqlplus /nolog |
只是启动了一个客户端进程,并没有与服务器连接,连接到 Oracle服务器的命令是:
conn 用户名/密码 as 连接身份
1 | conn system/admin as sysdba |
Oracle服务开关闭用命令:
1 | startup open |
1 | --注释 |
查询列,逐步添加条件
1 | select * from table_name --查询该表*(所有列) |
修改表中数据
更新数据
1 | update table_name set yuwen='150' where yingyu='120' |
插入数据
1 | insert into table_name values('001','zhangsan','120','150','135','60','120') --插入数据 |
1 | create table s_test |
说明:
- 连接身份:表示该用户连接后拥有的权限。
sysdba: 即数据库管理员,权限包括:打开数据库服务器、关闭数据库服务器、备份数据库、恢复数据库、日志归档、会话限制、管理功能、创建数据库。sys用户必须用sysdba身份才能登录,system用户可以用普通身份登录。sysoper:即数据库操作员,权限包括:打开数据库服务器、关闭数据库服务器、备份数据库、恢复数据库、日志归档、会话限制。normal:即普通用户,权限只有查询某些数据表的数据。默认的身份是normal用户。
创建用户
CREATE USER 用户名 IDENTIFIED BY 口令 [ACCOUNT LOCK|UNLOCK]
1 | CREATE USER admin IDENTIFIED BY account lock |
1 | SQL> CREATE USER jerry |
<font color=red>创建后并不能马上使用该用户访问数据库</font>
还有一个概念就是数据库角色(role),数据库角色就是若干个系统权限的集合。下面介绍几个常用角色:
Ø CONNECT角色,主要应用在临时用户,特别是那些不需要建表的用户,通常只赋予他们 CONNECT role。CONNECT是使用 Oracle的简单权限,拥有 CONNECT角色的用户,可以与服务器建立连接会话(session,客户端对服务器连接,称为会话)。
Ø RESOURCE角色,更可靠和正式的数据库用户可以授予RESOURCE role。RESOURCE提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、触发器(trigger)、索引(index)等。
Ø DBA角色,DBA role拥有所有的系统权限—-包括无限制的空间限额和给其他用户授予各种权限的能力。用户 SYSTEM拥有DBA角色。
一般情况下,一个普通的用户(如 SCOTT),拥有 CONNECT和 RESOURCE两个角色即可进行常规的数据库开发工作。
可以把某个权限授予某个角色,可以把权限、角色授予某个用户。系统权限只能由 DBA用户授权,对象权限由拥有该对象的用户授权,授权语法是:
GRANT 角色|权限 TO 用户(角色)
1 | SQL> GRANT CONNECT TO jerry; |
其他语法
1 | //回收权限 |
删除表
TRUNCATE和DELETE都能把表中的数据全部删除,他们的区别是:
- -TRUNCATE是DDL命令,删除的数据不能恢复,如果一个表中数据记录很多,TRUNCATE相对DELETE速度快。
- -DELETE命令是DML命令,删除后的数据可以通过日志文件恢复。
1 | drop table table_name |
1 | create table table_name |
2021-9-15
1 | ---------------1------------------创建学生表定义学号,姓名性别年龄所在部门院系 |
表连接
1 | select * from emp; |
查询
1 | ---模糊查询 |
day 4
1 | SELECT e.ENAME,e.JOB,e.SAL,d.DNAME FROM EMP e JOIN DEPT d ON e.DEPTNO=d.DEPTNO WHERE e.SAL>2000; |