Unit01: 数据库原理 、 SQL(DDL、DML)
SQL语句是不区分大小写的,但是行业里习惯将关键字与分关键字用大小写岔开以提高可读性.
SELECT SYSDATE FROM dual
DDL语句
数据定义语言
用于操作数据库对象
数据库对象有:表,视图,索引,序列
创建表:
CREATE TABLE employee(
id NUMBER(4),
name VARCHAR2(20),
gender CHAR(1),
birth DATE,
salary NUMBER(6,2),
job VARCHAR2(30),
deptno NUMBER(2)
)
查看表结构
DESC employee
删除表
DROP TABLE employee
为字段添加默认值选项或非空约束
默认值:数据库中无论字段是什么类型
默认值都是NULL,可以使用DEFAULT
关键字为字段单独指定默认值。
字符串的字面量是使用单引号括起来的,
并且字符串的字面量是区分大小写的。
NOT NULL约束可以要求某个字段不允许为空。
CREATE TABLE employee(
id NUMBER(4),
name VARCHAR2(20) NOT NULL,
gender CHAR(1),
birth DATE,
salary NUMBER(6,2),
job VARCHAR2(30) DEFAULT 'CLERK',
deptno NUMBER(2)
)
修改表
1:修改表名
2:修改表结构
修改表名:
RENAME employee TO myemp
DESC myemp
修改表结构
2.1:添加新字段
ALTER TABLE myemp
ADD(
hiredate DATE DEFAULT SYSDATE
)
DESC myemp
2.2删除现有字段
ALTER TABLE myemp
DROP(hiredate)
2.3:修改现有字段
修改字段最好是在表中没有数据的情况下
进行。
可以修改类型,长度,默认值,非空。
表中有数据的话,尽量不该类型,长度尽可能
只增不减。
ALTER TABLE myemp
MODIFY(
job VARCHAR2(40) DEFAULT 'CLERK'
)
DESC myemp
DML语句
数据操作语言
用于增删改表中的数据,伴随事务.
1:插入新数据
INSERT INTO myemp
(id,name,salary,deptno)
VALUES
(1,'JACK',3000,10)
SELECT * FROM myemp
插入日期推荐使用TO_DATE函数
INSERT INTO myemp
(id,name,birth,salary,deptno)
VALUES
(2,'ROSE',
TO_DATE('1992-08-02','YYYY-MM-DD'),
5000,10)
SELECT * FROM myemp
2:修改表中数据
在修改时通常要添加WHERE子句来限定
要修改的记录的条件,这样只会将满足
WHERE要求的条件的记录进行修改,否则
全表所有数据都会被修改!
UPDATE myemp
SET salary=6000,deptno=20
WHERE name='JACK'
3:删除语句
删除通常也要添加WHERE子句,否则
是清空表操作!
DELETE FROM myemp
WHERE name='JACK'