首页 技术 正文
技术 2022年11月16日
0 收藏 942 点赞 3,013 浏览 1742 个字

1. DDL语句

SQL语句:结构化查询语句,使用SQL与数据库“沟通”,完成相应的数据库操作。

l DDL:数据定义语言,用来维护数据库对象

1.1 创建表

Ø CREATE:创建表

演示:创建员工表

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:查看表的数据结构

演示:查看创建的员工表

DESC employee;

DDL与DML语句

Ø DEFAULT:设置默认值

可以通过DEFAULT子句给列指定默认值

演示:建表时给gender默认值为”M”

CREATE TABLE emptest(

id NUMBER(4),

name VARCHAR2(20),

gender CHAR(1) DEFAULT ‘M’,

birth DATE

);

Ø NOT NULL:非空

默认情况下,任何列都允许有空值。非空(NOT NULL)是一种条件约束,用于确保字段值不为空,当某个字段被设置了非空约束条件,这个字段中必须存在有效值,即:当执行插入数据操作时,必须提供这个列的数据;当执行更新操作时,不能给这个列的值设置为NULL。

演示:创建员工表设置那么为非空字段

CREATE TABLE emptest(

id NUMBER(4) ,

name VARCHAR2(20) NOT NULL,

gender CHAR(1) DEFAULT ‘M’,

birth DATE

);

DDL与DML语句

1.2 修改表

Ø RENAME:修改表名

演示:修改表名

RENAME emptest to testemp;

Ø ALTER TABLE的ADD子句

增加列,列只能增加在最后,不能插入现有的列中。

演示:在testemp表下面增加hiredate列,并将默认值设置为当前时间

ALTER TABLE testemp ADD(hiredate DATE DEFAULT sysdate);

Ø ALTER TABLE的DROP子句

删除列,删除字段需要从每行中删掉该字段占据的长度和数据,并释放在数据块中占据的空间,如果表记录比较大,删除字段可能需要比较长的时间。

演示:删除testemp表下的hiredate

ALTER TABLE testemp DROP (hiredate);

Ø DROP删除表

DROP TABLE emptest;

Ø ALTER TABLE的MODIFY子句

修改列,使用MODIFY可以改变表中列的数据类型、长度和默认值,注意这种修改仅对以后插入的数据有效。另外如果表中已经有数据的情况下,把长度由大改小,有可能不成功,比如原来类型是VARCHAR2(100),其中已经存放了100字节长度的数据,如果改为80字节,则不会修改成功。

演示:修改testemp表中name的长度为30

ALTER TABLE testemp MODIFY(name VARCHAR2(30));

2. DML语句

l 用于增删改表中数据,DML是伴随TCL事务控制的。

Ø INSERT

INSERT语句用来给数据表增加记录,每次增加一条记录。所有的DML操作,需要再执行事务提交语句COMMIT才算真正确认了此操作。

演示:想testemp中插入一条记录

INSERT INTO testemp (id,name,gender) VALUES (1,’张三’,’M’);

COMMIT;

DDL与DML语句

插入数据时忽略字段则是全列插入,顺序不能错误,如下:

INSERT INTO testemp VALUES (10,’李四’,’F’,sysdate);

COMMIT;

Ø UPDATE

更新表中的记录,需要配合WHERE子句使用,否则全表的数据都会被更新。

演示:更新testemp表中张三的ID为2

UPDATE testemp SET id=2 WHERE name=’张三’;

COMMIT;

DDL与DML语句

同时修改两个类型:

UPDATE testemp SET id=5,name=’王五’ WHERE name=’李四’;

COMMIT;

Ø DELETE

删除表中的记录,和UPDATE一样,需要配合WHERE子句使用,不然会将全表数据删除。

演示:将testemp表中id为2的记录删除

DELETE FROM testemp WHERE id=2;

清空表:

DELETE FROM testemp;

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,078
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,553
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,402
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,177
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,814
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,898