【IT专家】数据库基础sql语句总结(以Oracle为主介绍,并与mysql,sql server做对比)一 下载本文

内容发布更新时间 : 2024/4/26 20:10:08星期一 下面是文章的全部内容请认真阅读。

本文由我司收集整编,推荐下载,如有疑问,请与我司联系

数据库基础 sql 语句总结(以 Oracle 为主介绍,并与 mysql,sql server

做对比)一

2016/11/19 1 本篇博客说明:本篇博客主要总结了数据库中表的创建,内容的 增、删、改、查,并说明了在不同的数据库中对应的 sql 语句的写法。其中所有示 例引用表均以下面的数据库表为基础演示,数据字典的.sql 文件下载地址: pan.baidu/s/1ge8OY4b

执行脚本:1.Oracle 中执行脚本: win+R- 运行- sqlplus:输入正确的用户名和密 码下后,@脚本路径或者@+”直接鼠标拖入文件“。 2.MySql 中执行脚本: source 脚本路径 3.Sql Server 中执行脚本: cmd 窗口中:osql -S 127.0.0.1 -U sa -P sa -i d:\\test.sql 说明:osql 为 SQL Server 的命令,要在 cmd 中执行该命令,一般安装完 SQL Server 后该命令对应的路径会自动添加到系统环境变量中。 -S 表示要连接的 数据库服务器 -U 表示登录的用户 ID,-P 表示登录密码 -i 表示要执行的脚本文件 路径。

先介绍下 SQL 语句的分类:

言):SELECT,INSERT,DELETE,UPDATE 言):CREATE,DROP,ALTER,TRUNCATE 等 言):COMMIT,ROLLBACK,SAVEPOINT 等

—-事务:单位时间内的一系列的操作。这些操作要么全部成功,要么全部失败。 –提交事务:COMMIT,将对表中数据的操作(增,删,改)保存到表中。 –回退事务: ROLLBACK,将数据还原到最初或最后一次提交的状态。 1.当出现了 DDL 语句时,数据库会自动提交事务。 时,Oracle 会自动提交事务。 务。

一.创建,删除表 CREATE TABLE 表名(列名 数据类型[(长度)] [约束],列名 数据 类型[(长度)] [约束],……列名 数据类型[(长度)] [约束]);**--------------**Oracle 中常用

2.当正常结束 Oracle 语句

1.DML(数据操作语 2.DDL(数据定义语 3.DCL(数据控制语

3.当异常结束 Oracle 语句时,Oracle 会自动回退事

本文由我司收集整编,推荐下载,如有疑问,请与我司联系

的数据类型:**** 1. 数字类型:NUMBER 整数------NUMBER(6),长度可以省略, 省略则默认为 38 位的数字。 浮点数-----NUMBER(8,2),浮点数的长度**不能省略**, 表示整个数字长为 8 位,其中有两位小数。 2. 字符类型:**默认单位为字节,且必 须指定长度** CHAR-----保存固定长度的字符串,当内容的长度不足时,使用**空格 在内容的后面补齐长度**。 VARCHAR2-----VARCHAR2(8 CHAR)保存可变长度的 字符串(但是不能超过上限),如果内容的长度不够,不使用空格补齐长度。上面表 示 8 个字符长度的字符,VARCHAR(8)表示 8 个字节长度的字符。 (*这里为什么 不用 VARCHAR 而要用 VARCHAR2:VARCHAR2 是 oracle 独用的数据类型它会 在任何版本中向上和向下兼容,但 VARCHAR 是标准 sql 提供的数据类型可能在下 几个版本的 JDK 中随着 sql 标准的变化而改变。。。VARCHAR2 把所有字符都占两 字节处理(一般情况下),VARCHAR 只对汉字和全角等字符占两字节,数字,英文 字符等都是一个字节)* 3. 日期类型-----DATE,表示日期+时间。不能指定长度。 **查看表的结构**DESC 表名/视图名

**删除表**----删除表的同时也删除表中所有的数据。并且删除的数据无法回退。 DROP TABLE 表名

**表中字段的约束**1.主键约束------PRIMARY KEY,不能重复,不能为 NULL。 通过主键可以在表中找到唯一的一行数据。2.非空约束------NOT NULL。 表示该列 值不能为空。3.检查约束-----CHECK。添加或者修改列中的数据时,检查列中的数 据是否合法。4.默认值-------DEFAULT。当没有向列中添加值时,自动为列添加数 据。5.唯一约束-----UNIQUE。表示为列的值可以为 NULL,但不能重复。6.外键约 束-----FOREIGN KEY 例如下面代码:CREATE TABLE TEST( T_ID NUMBER(5) PRIMARY KEY, // 表示长度为 5 的整数,为主键约束 T_NAME VARCHAR2(10 CHAR) NOT NOLL, //表示长度为 10 个字符的可变长字符串,为非空约束 T_SEX CHAR(1 CHAR) DEFAULT ‘女’, //表示长度为 1 个字符的字符,默认值为‘女’ T T_AGE NUMBER(2) CHECK(T_AGE =20 AND T_AGE =50), //表示长度为 2 的整 数,检查约束在 20 到 50 之间的才能插入或者更改。 T_BIRTHDAY DATE //表示一

本文由我司收集整编,推荐下载,如有疑问,请与我司联系

个日期类型的字段 REFERENCES S_NAME 主键

CONSTRAINT T_SID_S FOREIGN KEY(T_NAME)

S(S_NAME),//表示以自己的 T_NAME 作为外键参照 S 表中的

增、删、改 sql 语句一.添加数据:INSERT INTO 语句。1.向表中添加一行新数 据,并向新行中所有的列赋值。 格式:INSERT INTO 表名 VALUES(值,值,……); 例:INSERT INTO TEST VALUES(1,’张三’,’男’,TO_DATE(‘1986-10-20’,’ YYYY-MM-DD’));

2.向表中添加一行新数据,并向新行中指定的列赋值。 格式:INSERT INTO 表 名(列名,列名,……) VALUES(值,值,……); 例:INSERT INTO TEST(T_NAME,T_ID) VALUES(‘BB’,2);

3.将其它表中的数据复制到指定的列中

格式:INSERT INTO

表名[(列名,列

名,……)] SELECT 语句; 例:INSERT INTO TEST(T_ID,T_NAME,T_BIRTHDAY) SELECT EMPLOYEE_ID,LAST_NAME,HIRE_DATE FROM EMPLOYEES; 注意:如果表存在外键约束,添加数据时,应该先添加主表数据,再添加子表的 数据。

二.修改数据:UPDATE 语句格式:UPDATE 表名 SET 列名=值[,列名=值,……] [WHERE 条件]; 例:

UPDATE TEST SET T_BIRTHDAY=SYSDATE WHERE T_BIRTHDAY IS NULL;UPDATE TEST SET T_NAME=‘ABC’,T_SEX=‘女’ WHERE T_ID=1;三.删除数 据:DELETE 语句格式:DELETE [FROM] 表名 [WHERE 条件]; 例:

DELETE FROM TEST WHERE T_ID=2;注意:删除*TEST 表中 T_NAME 列*内所 有的数据。

UPDATE TEST SET T_NAME=NULL;查询表 1.基本的 SELECT 语句:SELECT 列名[,列名,……]|*FROM 表名注意: 1.Oracle 中的 SELECT 语句的 FROM 子句不 能省略。 2.SQL 语句不区分大小写。 3.SQL 语句可以写成一行或多行。 4.通常情 况下,sqlplus 中的 SQL 语句使用分号表示结束。

4.只能直接使用半角的标点符