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语句