3.1数据库理论知识
3.1.1数据库概念
数据:文本、图片、视频、音频、网页……….
数据库:按照一定的数据格式、结构存储数据的仓库
3.1.2数据库管理软件 Database Manage system
概念:简称DBMS,是一种操作数据库的软件
数据库管理员DBA Database Administrator
3.1.3常用数据库管理软件
(1)MySQL:MsSQL是一个关系型数据库管理系统。
优点:开源、免费、不要钱、跨平台性支持好、提供了多种语言调用的API、使用范围广
(2)Oracle
(3)MS SQL Server
(4)Sqlite
3.2数据库操作
3.2.1MYSQL安装
安装命令:sudo apt-get install mysql-server
查看服务是否开启,命令:ps aux|grep mysql
启动:sudo service mysql start
停止:sudo service mysql stop
重启:sudo service mysql restart
查看数据库的状态:sudo service mysql status
3.2.2远程连接
(1)关闭ubuntu的防火墙
sudo ufw status/enable/disable
(2)修改数据库服务端的配置文件
/etc/mysql/mysql.config.d/mysqld.cnf
bind-address:0.0.0.0
3.2.3登录数据库
登录远程主机:mysql -h远程主机的IP地址 –P 3306 –uroot –p
登录本机:mysql –uroot -p
退出客户端:exit/quit/ctrl+d
3.2.4数据库命令
(1)创建数据库:
create database 数据库的名称 character set utf8
create database 数据库的名称 charset=utf8
(2)删除数据库
drop database 数据库的名字
(3)修改数据库编码
alter database 数据库的名字 character set utf8
(4)查看所有数据库
show databases
(5)查看当前操作的数据库
select database()
(6)切换到指定数据库
use 数据库名
3.2.5数据的导入和导出
(1)导出数据库:
终端命令:
mysqldump -uroot -p(注意不要输入密码) 要导出的数据库的名字 > 路径/导出之后的数据库的名字
(2)导入数据库:
①在数据库中创建一个新的空的数据库
②use 新建的数据库
③source 路径/要导入的数据库的名字
3.2.6MYSQL常用字段数据类型
(1)整数
tinyint
smallint
mediumint
int
(2)小数
float
double
decimal
(3)字符串
char(不可变),如:char(6)如果输入的长度不到6会用空格自动补充
varchar(可变)
text
blob
(4)枚举
enum("","")
(5)日期和时间
date:yy:mm:dd
datetime:yy-mm-dd hh:mm:ss
time:hh:mm:ss
注意:日期和时间在输入具体数据的时候要用引号引起来
3.2.7数据表设计思想
(1)设计流程
需求分析:根据用户的需求,分析出需要记录的数据
需求设计:根据分析出的数据,设计E-R模型图
详细设计:将E-R模型图转换成数据表
三大范式:使用数据库三大范式的设计思想对数据表进行审核
(2)三大范式
第一范式:每一列都具有原子性,也就是不能再分割
第二范式:要求每一个表,只描述一件事情
第三范式:要求表中不存在冗余字段