数据库基础
概念 | 含义 |
---|---|
数据库(DB) | 大量数据通过加工进入访问的集合。 |
数据库管理系统(DBMS) | 用户可以方便访问数据。 |
关系型数据库(RDB) | 采用二维表格结构来存储数据,还使用sql(结构化查询语言)语言对数据库进行操作 |
关系型数据库管理系统(RDBMS) | Oracle,MySQL,DB2,SQL server,postgreSQL…. |
数据库结构
关系型数据库再用C/S
模式,通过客户端使用sql语句来请求服务端来获得数据。
关系型数据库采用二维表来存储数据。表中的数据由列(字段)
和行(记录)
来组成。以记录为单位进行数据读写。行与列向交称为单元格。每个单元格只能输入一个数据。
sql
sql用来操作数据库的语言。sql以分号结尾,根据操作目的分为DDL,DML和DCL。使用最多都是DML。
DDL(数据库定义语言)
用来创建或者删除数据库活表等对象。包含create,drop,alter关键字。
DDL | 含义 |
---|---|
create | 创建数据库活表等对象 |
drop | 删除数据库活表等对象 |
alter | 修改数据库活表等对象 |
DML(数据库操作语言)
用来查询或者更改表中的记录。
DML | 含义 |
---|---|
select | 查询表中的数据 |
insert | 向表中插入新数据 |
update | 变更表中的数据 |
delete | 删除表中的数据 |
DCL(数据库控制语言)
用来确认或者取消对数据库中的数据进行变更。也可以对用户是否权限操作数据库中的对象进行设定。
DCL | 含义 |
---|---|
commit | 确认对数据库中的数据进行表更 |
rollback | 取消对数据库中的数据进行表更 |
grant | 赋予用户操作权限 |
revoke | 取消用户操作权限 |
规则:
1)为分号结尾
2)关键字不区分大小写。数据名区分大小写
3)字符串和日期使用单引号(‘’),数字直接写即可
4)单词直接使用半角空格或者换行进行分隔
数据库的创建
格式:create database <数据库名称>;
1 | create database shop; |
表的创建
格式:create table <表名> (<列名1> <数据类型> <该列所需约束>, <列名2> <数据类型> <该列所需约束>, ...);
1 | create tabele t1(t1_id char(4) not null, t1_name varchar(100) not null, t1_title varchar(100) not null, t1_jin integer , t1_chu integer , t1_day date , primary key(t1_id)); |
命名规则
数据库名,表名,列名只能使用英语字母,数字和_下划线。并且以英语字母开头
数据类型
每定义字段都要定义数据类型
数据类型 | 含义 |
---|---|
integet | 整型 |
char | 字符型 通过括号指定最大长度 char(100) |
varchar | 字符串类型 通过括号指定最大长度 |
date | 日期类型 |
约束
除了数据类型外,对列存储的数据进行限制或者追加的条件的功能。
约束 | 含义 |
---|---|
null | 表示空白。not null表示不能输入空白,一定要输入 |
primary | 主键 可以通过该列取得数据的唯一键值。 |
表的删除
格式:drop table <表名>;
1 | drop table t1; |
表结构更新
格式:alter table <表名> add column <列的定义>;
注意:alter更改表结构 update更改数据
在t1表中新添加字段t1_add1
alter table t1 add column t1_add varchar(100);
格式:alter table <表名> drop column <列名>;
删除t1表中的t1_add字段1
alter table t1 drop column t1_add;
重命名表名
格式:alter table <旧表名> rename to <新表名>;
MySQL/DB2用法rename table <旧表名> to <新表名>;
1 | alter table t1 rename to t2; |