数据库(DB):按照数据结构来组织、存储和管理数据的仓库
关系数据库(RDB):使用关系模型把数据组织到数据表中的数据库哟,由多个数据表组成
数据库管理系统(DBMS):管理数据库的软件
数据表:关系数据库的基本存储结构,由行和列组成。
行(row):横排数据,也被称作记录(Record);
列(column):纵列数据,也被称作字段(Field)
主流的数据库:Oracle(Oracle) 、 DB2(IBM)、SQL(MS)、MySQL(Oracle)、SyBase(SAP)
MySQL:是一个小型开放源码的关系型数据库管理系统,适用于中小型企业
SQL:是微软推出的运行在Windows NT服务器上,支持C/S结构的数据库管理系统
SQL(结构化查询语句):是在关系数据库上执行数据操作、检索及维护所使用的标准语言,所有数据库都使用相同或相似的语言。
SQL语言可以分为:
DDL(数据定义语句):用于创建(CREATE)、修改(ALTER)、删除(DROP和TRUNCATE)数据库对象数据库的对象包括:表、视图、索引、序列
DML(数据操作语句):用于改变数据库数据。包括:INSERT(插入)、UPDATE(修改)、DELETE (删除)DML操作一定会影响数据库中表的数据
TCL(事物控制语句):用于维护数据的一致性。包括:COMMIT(提交)、ROLLBACK(回退)SAVEPOINT(保存点)。使数据真的存入数据库或回退不使数据写入数据库。
DQL(数据查询语句):用于查询所需的数据(SELECT)
DCL(数据控制语言):用于执行权限的授予和收回、用户的创建操作。包括GRANT(授予)、REVOKE(收回)CREATE USER(创建用户)
SQL语句本身并不区分大小写,通常我们将关键字大写,非关键字小写。但字符串是区分大小写的。
Qracle中的基本类型:
NUMBER:数字类型。格式为:NUMBER(P,S),P为数据的总位数,S为小数位数。若无小数可写NUMBER(P),P的总位数为1-38,是Qracle独有的数据类型。NUMBER(*,s):表示带s为小数的共38位的数字类型。
CHAR:表示固定长度的字符类型。格式为CHAR(N),N为占用的字节数,而不是字符数,N的最大长度为2000,CHAR对空格不敏感,CHAR()表示默认有1个字节。
VARCHAR2:表示不定长的字符类型。格式为VARCHAR(N),N为最多可占用的字节数,N的最大值为4000,是Oracle中独有的数据类型。无默认值,不写N将出错。对空格敏感。
CHAR(n BYTE)表示占n个字节,CHAR(n CHAR)表示占n个字符,其中的BYTE和CHAR格式和java相同。
LONG:VARCHAR2的加长版,用来存储变长字符串,最多可达2GB的字符串数据。(不建议使用)
使用LONG的注意事项:
(1)每个表中只能有一个LONG类型列
(2)不能做主键,不能建立索引
(3)不能出现在查询条件中
CLOB:用来存储定长或变长的字符串,最多可达4GB的字符串数据。
DATE:用于定义日期时间的数据,长度为7个字节,SYSDATE:表示系统时间,精确到秒。默认格式为:DD-MOR-RR,即某日-某月(英文)-某年(年的最后2位)。
Oracle中的年份表示:
System(系统年份) 0 - 49 50 - 99
RR(设置的年份)
0 - 49 本世纪 下世纪
50 - 99 上世纪 本世纪
TIMESTAMP:不仅可以保存日期和时间,还能保存小数秒,精确到纳秒(ns)。占7或11个字节。
SYSTIMESTAMP:表示当前系统时间,精确到毫秒(ms)
日期格式的特殊字符:
字符 | 表示的含义 |
YY | 两位数表示的年份 |
YYYY | 4位数表示的年份 |
MM | 2位数表示的月份 |
MOR | 简写的英文月份 |
MONTH | 全拼的英文月份 |
DD | 2位数表示的天数 |
DY | 周几的简写 |
DAY | 周几的全拼 |
HH24 | 24小时制的小时 |
HH12 | 12小时制的小时 |
MI | 分钟 |
SS | 秒 |
在数据库中,字符串是用单引号包括的。且字符串是区分大小写的。
数据库中字段无论是什么类型,默认值都是NULL,若使用了DEFAULT指定默认值,则使用指定的。