数据库基础知识
一、数据库简单介绍
存储数据使用文件,有以下问题:
1、文件的安全性问题;
2、文件不利于查询和对数据的管理;
3、文件不利于存放海量数据;
4、文件在程序中控制不方便;
因此出现了我们现在使用的数据库,便于我们对数据管理,数据库可以高效的存储和处理数据。
二、主流的数据库
- SQL Server: 微软的产品,.Net程序员的最爱,适合中大型项目;
- Oracle: 甲骨文产品,适合大型项目,复杂的业务逻辑,并发一般来说不如MySQL;
- MySQL: 世界上最受欢迎的数据库,属于甲骨文,并发性好,不适合做复杂的业务逻辑,主要应用在电商,SNS,论坛,对简单的SQL处理效果好;
- PostgreSQL:加州大学伯里克利分校计算机开发的关系型数据库,不管是私用、商用,还是学术研究,可以免费使用,修改和分发 ;
- SQLite: 一款轻型数据库,遵守ACID的关系型数据库管理系统,包含在一个相对较小的C库中,设计目标是嵌入式,占用资源非常低,可能只需要几百K内存就够了;
- H2: 是一个用Java开发的嵌入式数据库,本身只是一个类库,可以直接镶嵌到应用的项目中;
三、数据库简单操作
1、登陆数据库
mysql -h ip地址 -P端口号 -u 使用用户名 -p
myslq -h 127.0.0.1 -P -u root -p
2、创建数据库
create database 数据库名
3、查看数据库列表
show databases;
4、查看数据库创建语句
show create database db_name;
5、修改数据库
alter database db_name
[charset=新的字符编码格式
collate= 新的校验规则]
6、删除数据库
drop database db_name;
7、备份数据库
备份(操作系统命令行):
mysqldump -u root -p - B db_name;
恢复(mysql 命令行 ):
source
四、在数据库中,数据表的操作
1、创建表
create table table_name(
字段名称:字段类型,
字段名称:字段类型
)[charset=字符集名称 collate 检验规则 engine存储引擎]
2、查看表结构
desc table_name
3、修改表 alter
a、在表中新增字段
alter table table_name add 新字段名称 新字段类型
b、修改已有字段类型
alter table table_name modify 已有字段名称 新字段类型
c、删除某一列属性
alter table table_name drop 要删除的属性;
d、修改类型名
alter table table_name change 修改的名称 修改后名称 修改后类型;
e、删除表
drop table table_name;
4、文本:
char(L):定长字符串,最大值为255,单位为字符
varchar(M):不定长字符串,单位为字节,MySQL中规定一行长度不超过65535个字节。
定长字符串检索效率高,空间利用率低;
变长字符串检索效率低,空间利用率高。
text:大文本。
5、时间类型:
DATE:日期类型 yyyy-mm-dd:年 月 日 3字节
DATETIME:日期时间类型 yyyy-mm-dd HH:mm:ss 年 月 日 时 分 秒 8字节
TIMESTAMP:时间戳 yyyy-mm-dd HH:mm:ss 4字节
6、多表查询:
数据来源于多个表的查询语句---笛卡尔积查询
select enname ,sal,dname
from emp,dept
where emp.deptno=dept.deptno
7、索引 :以空间换时间
主键索引>唯一索引>普通索引(效率上)
(1)创建索引
create index empno_index on emp(empno);