2017-9-12 - A - 数据库

1 数据库中以什么单位存储数据?
表。

2 什么是关系型数据库?
由关系、数据、数据之间的约束三者所组成的数据模型

3 什么是一对多?
一张表的一条数据可以对应另一张表中多条数据。

4 什么是多对多?
双向的一对多。

5 什么是sql?
结构化查询语言,即和数据库沟通的语言。

6 sql包含什么语句?
DDL——数据定义语言,增删改数据库对象
DML——具体数据操作语言,增删改具体数据。
TCL——维护数据(DML)一致性的语句——提交,撤销,保存点(退回某个存档点)
DQL——数据查询语言。

7 ROLLBACK及commit是否会导致事务的结束?

8 sql语句中如何注释?
/*

*/

9 sqldeveloper中的执行语句需要以结束符结束?sql中需要结束符吗?
需要,不需要

10 多行语句的情况下,如何单独执行某行?
选中执行。

11 SQL语句什么情况下大写,什么情况下小写,有什么好处?
不区分大小写,但应当养成一个好习惯,通常将关键字小写,其他(如操作语句)大写
清晰明了。

12 ORACLE数据类型有哪些?所有数据类型都需要自行定义长度吗?
number NUMBER(num,num)
char CHAR(20)——最大可存储的字节为2000个,该类型数据为定长——即即使存储的数据字节小于20,也会开辟20个字节的空间。
var VARCHAR(4000)——变长的字符类型——空间利用方便,查询删减
var VARCHAR2(1000)——(ORACLE独有的)可当做VARCHAR型数据使用。
date DATE——存放“CMT-YEAR-MONTH-DAY-HOUR-MINUTE-SECOND”——长度是7个字节。
——————
除了DATE型数据不需要(定长为7个字节)。

13 不同的数据库管理软件操作相同吗?
基本相同。

14 如何查看表结构?
DESC employee_zxj

15 如何创建表?
CREATE TABLE employee(
id NUMBER(4),
name VARCHAR2(20) NOT NULL,
gender CHAR(1) DEFAULT 'M',
birth DATE,
salary NUMBER(6,2),
job VARCHAR2(30),
deptno NUMBER(2)
)

15 数据库内字段默认值是?可以设置默认值吗?是的话如何设置一个名为gender的字符型数据的默认值?
任何类型都是NULL,可以,使用DEFAULT字段设置。
gender CHAR(1) DEFAULT '123'

16 如何删除表?
使用 DROP 字段。
DROP TABLE emlpoyee_zxj;

17 存储一个字符,字符串类型数据需要多少个字节?
UTF-8,设置一个字节。

18 NOT NULL 和 DEFAULT可以同时存在吗?
不可以,NOT NULL是必须赋值,DEFAULT是你不赋值我给一个。

19 如何修改表名?如何增删字段?如何修改字段?
RENAME old_namw TO new_name
①添加字段:只能追加到表的最后一列,不能插入。
ALTER TABLE myemp ADD(
fuckyeah DATE
)
②删除字段:
ALTER TABLE myemp DROP(
HIREDATE
)
③修改现有字段,长度,添加非空约束或设定默认值。
若表中已经存在数据,则不要修改字段的类型,长度尽可能只增不减 否则可能会修改失效。
ALTER TABLE myemp MODIFY(
job NUMBER(10)
)

20 如何增删改表内数据?不提交的话,表实际有变化吗?为什么用SELECT查看数据还能看到?
使用DML语句操作,DML语句总是伴随着(TCL)维护数据。
①INSERT语句
用于向表中插入新的记录
INSERT INTO myemp
(id,name,salary,job)
VALUES
(1234,'JACK',3000.00,'SPID')

②查看
SELECT * FROM myemp;

③提交
COMMIT

④UPDATE语句,修改表中数据
需要注意,修改语句通常要添加WHERE语句,这样可以限定要修改的记录。
若不添加WHERE,则是全表所有记录都进行修改,添加了则会将满足条件的记录进行修改。

UPDATE employee
SET salary=5000,deptno=20

UPDATE employee
SET salary=5000,deptno=20
where gender = 'F'

UPDATE employee
SET salary=5000,deptno=20
where id = '1' or salary >= 5000

⑤DELETE删除,删除表中数据
需要注意,修改语句通常要添加WHERE语句,这样可以限定要修改的记录。
若不添加WHERE,则是清空表操作,添加了则会将满足条件的记录进行修改。

DELETE employee where id = 1

DELETE employee 或 TRUNCATE TABLE myemp —— 同样是删除所有记录。
TRUNCATE TABLE myemp——不可回退
——TRUNCATE TABLE myemp——唯一一条DDL语句。


——————
不会
——————
模拟提交后的表返回数据。

21 如何插入日期型数据?
插入日期型数据时,建议使用内置函数TO_DATE
该函数可以将一个字符串按照指定的日期格式转换为DATE型数据。
INSERT INTO myemp
(id,name,salary,job,birth)
VALUES
(3,"mike",4000,'MANAGER',TO_DATE('1992-08-02','YYYY-MM-DD'))

22 可以将NULL值插入到非空约束的字段name上吗?
IINSERT INTO myemp
(id,salary,job)
VALUES
(4,5000,'CLERK')

posted @ 2017-09-13 01:11  清及  阅读(99)  评论(0)    收藏  举报