Oracle数据库基础知识1

时间:2023-03-08 23:43:49
Oracle数据库基础知识1

DDL语句

1.表的创建 CREATE TABLE table_name();

例如: CREATE TABLE USER_E(

id NUMBER (5),

name VARCHAR(20),

gender CHAR(1) DEFAULT 'M',

birth DATE NOT NULL,

salary NUMBER(8,2),

job VARCHAR(20),

deptno NUMBER (3) );

-DEFAULT关键字

用于指定默认值

-数据库中字段无论什么类型,默认值都是NULL 可以采用DEFAULT关键字指定。

-NOT NULL约束 在创建表的时候可以为列添加非空约束 列在插入数据时候,则必须给值,否则失败。

2.DESC table_name;

查询表结构,字段类型,长度

例如: DESC  USER_E

3.DROP TABLE table_name ;

删除表

4.修改表名 RENAME old_name TO new_name

5.添加新字段(列),总在表的最后一列

ALTER TABLE table_name ADD();

例如:

ALTER TABLE USER_F1

ADD(hiredate DATE DEFAULT sysdate);

sysdate:系统当前日期

6.删除表中现有列

ALTER TABLE table_name DROP(??);

7.修改表中现有列

ALTER TABLE table_name

MODIFY()

例如:

ALTER TABLE table_name

MODIFY(job VARCHAR(40) DEFAULT 'staff');

注意: -不改变字段的类型 -字段长度不要减少 -修改后的字段,只对新插入的数据产生影响

DML语句

1.向表中插入数据

INSERT INTO table_name(id,name,salary)

VALUES(x,'y',z);

例如: INSERT INTO table_name(id,name,salary)

VALUES(1,'xxx',5000);

若某列被设置成NOTNULL,而插入指定时,未指定该列,则抛出违反空约束的异常。

PS:

事务处理

-commit  INSERT执行完后并没有真正写入数据库,只有执行commit()提交成功后,才写入DB.

-rollback 当commit提交执行之前,可以通过rollback进行回退操作。 本次事务中的所有语句执行失败。

TO_DATE()函数  转换日期字符串,成DATE格式

TO_DATE('2017-01-01','yyyy-mm-dd')

例如:

INSERT INTO USER_F1(id,name,salary,BIRTH)

VALUES(1,'jack',7000,TO_DATE('2000-01-01','yyyy-mm-dd'));

2.查询表数据 S

ELECT * FROM table_name;

3.更新表数据

UPDATE table_name SET salary=xxx,job=MANAGER WHERE name=jack

注意: 更新数据时,必须用WHERE过滤, 否则,更新全表数据

4.删除数据

DELETE FROM table_name WHERE name=xxx, age=yy

注意:

-必须WHERE过滤,否则删除全表数据。通常不这么操作。

-区别TRUNCATE语句是全表删除,TRUNCATE执行后无法回滚,执行效率高于DELETE语句