SQL在Oracle中如用代码如何创建数据库、如何使用数据、如何创建数据库表、如果创建表的外键,如何针对表中数据完成添删改查的语句;与MYSOL有何区别
时间: 2024-12-06 10:22:43 浏览: 12
在Oracle数据库中,SQL是一种强大的查询语言,用于管理数据。以下是创建数据库、表以及完成基本操作的一些步骤:
1. **创建数据库**:
使用`CREATE DATABASE`命令,例如:
```sql
CREATE DATABASE my_database;
```
其中`my_database`是你想要创建的数据库名。
2. **切换到新创建的数据库**:
```sql
ALTER SESSION SET CURRENT_SCHEMA = MY_USER;
```
`MY_USER`是拥有权限创建表的用户。
3. **创建表格**:
示例:
```sql
CREATE TABLE employees (
id NUMBER PRIMARY KEY,
name VARCHAR2(50),
department_id NUMBER,
hire_date DATE
);
```
这里创建了一个员工表,包含ID为主键的字段。
4. **添加外键约束**:
对于关联表,比如部门表(departments):
```sql
CREATE TABLE departments (
id NUMBER PRIMARY KEY,
name VARCHAR2(50)
);
ALTER TABLE employees
ADD CONSTRAINT fk_employee_dept
FOREIGN KEY (department_id)
REFERENCES departments(id);
```
表格`employees`的`department_id`列引用了`departments`表的`id`。
5. **数据操作**:
- 插入数据 (`INSERT INTO`) :
```sql
INSERT INTO employees (id, name, department_id, hire_date) VALUES (1, 'John Doe', 1, '2020-01-01');
```
- 查询数据 (`SELECT`) :
```sql
SELECT * FROM employees WHERE name = 'John Doe';
```
- 更新数据 (`UPDATE`) :
```sql
UPDATE employees SET department_id = 2 WHERE id = 1;
```
- 删除数据 (`DELETE`) :
```sql
DELETE FROM employees WHERE id = 1;
```
**与MySQL的区别**:
1. Oracle有更丰富的特性,如存储过程、包装符等,而MySQL则更轻量级。
2. Oracle支持事务处理、分区等高级功能,而MySQL也提供这些,但在一些性能指标上Oracle通常更强。
3. 在语法方面,两者都有相似之处,但也存在细微差异,例如Oracle的PL/SQL和MySQL的存储过程。
4. Oracle需要付费许可,而MySQL的社区版免费。
阅读全文