SQL语句不区分大小写
SELECT SYSDATE FROM dual
SQL语句分为:
DDL,DML,TCL,DQL,DCL
DDL:数据定义语言
DDL用于维护数据库对象使用
数据库对象:表,视图,索引,序列。
1:创建表
CREATE TABLE employee_xxx(
id NUMBER(4),
name VARCHAR2(20),
gender CHAR(1),
birth DATE,
salary NUMBER(6,2),
job VARCHAR2(30),
deptno NUMBER(2)
)
查看表结构
DESC employee_xxx
删除表
DROP TABLE employee_xxx
在数据库中,所有字段的默认值都是NULL,可
以通过DEFAULT关键字指定一个默认值。
对于字符串而言,数据库中字面量是使用单引
号括起来的,这一点需要与java区分记忆。并
且,虽然SQL语句本身不区分大小写,但是字
符串的值是区分大小写的。
CREATE TABLE employee(
id NUMBER(4),
name VARCHAR2(20),
gender CHAR(1) DEFAULT 'M',
birth DATE,
salary NUMBER(6,2) DEFAULT 3000,
job VARCHAR2(30),
deptno NUMBER(2)
)
DESC employee
NOT NULL约束
当一个字段被NOT NULL修饰后,该字段不允
许为空。
CREATE TABLE employee(
id NUMBER(4),
name VARCHAR2(20) NOT NULL,
gender CHAR(1) DEFAULT 'M',
birth DATE,
salary NUMBER(6,2) DEFAULT 3000,
job VARCHAR2(30),
deptno NUMBER(2)
)
DESC employee
修改表
1:修改表名
2:修改表结构
修改表名:
RENAME old_name TO new_name
如:
RENAME employee TO myemp
改表结构
1:添加新的字段
2:修改现有字段
3:删除现有字段
添加新的字段
ALTER TABLE myemp
ADD(
hiredate DATE
)
DESC myemp
删除现有字段
ALTER TABLE myemp
DROP(hiredate)
修改现有字段
可以修改字段的类型,长度,默认值,非空约束
但是应当在表中没有数据的时候进行,否则尽量
不要修改类型,长度尽量只增不减。否则可能会
修改失败。
将JOB字段的长度变为40:
ALTER TABLE myemp
MODIFY(
job VARCHAR2(40)
)
DML语句:数据操作语言
DML是用来增,删,改表中数据。
DML是伴随事务(TCL)控制的
INSERT语句
INSERT语句用于向表中插入新数据
INSERT INTO myemp
(id,name,job,deptno)
VALUES
(1,'jack','CLERK',10)
SELECT * FROM myemp
不指定字段则是全列插入,给定的值的类型与顺序
要与表中字段一致。
INSERT INTO myemp
VALUES
(2,'rose','F',SYSDATE,5000,'CLERK',10)
插入日期类型数据时,可以使用数据库内置函数:
TO_DATE(char1,char2)
char1:一个具体日期的字符串
char2:指定的日期格式
INSERT INTO myemp
(id,name,birth)
VALUES
(3,'bob',TO_DATE('1992-08-05','YYYY-MM-DD'))
UPDATE语句:修改表中数据
将id为2的员工性别改为"M",部门改为"20"
UPDATE myemp
SET gender='M',deptno=20
WHERE id=2
DELETE语句:删除数据
DELETE FROM myemp
WHERE salary<5000
UPDATE语句与DELETE语句都需要使用WHERE
添加过滤条件,否则是对表中所有数据的操作。
SELECT * FROM myemp