数据库详解
什么是数据库?
-数据库:依照某种数据模型进行组织并存放在存储器的数据集合
-数据库管理系统:用来操纵和管理数据库的大型服务软件
-数据库系统:即DB+DBMS,指带有数据库并整合了数据库管理软件的计算机系统
MySQL数据库服务器
服务名称:mysqld
进程名称:
端口号:3306
日志文件:/var/log/mysqld.log
安装依赖包:yum -y install perl-Data-Dumper.x86_64 perl-JSON
# tar -xf mysql-5.7.17-1.el7.x86_64.rpm-bundle.tar
# ls *.rpm
# rm -rf mysql-community-server-minimal-5.7.17-1.el7.x86_64.rpm
# rpm -Uvh mysql-community-*.rpm
# rpm -qa | grep -i mysql
# systemctl status mysqld //查看服务状态
# ps -C mysqld //查看进程
# netstat -nultp | grep :3306
# systemctl start mysqld
# systemctl enable mysqld
# ps aux | grep -i mysqld
# ls /var/lib/mysql //数据库目录
# netstat -nultp | grep :3306
# grep mysql /etc/passwd
# grep mysql /etc/group
# /etc/my.cnf //配置文件
安装mysql软件
1.安装mysql软件
2.卸载系统自带的包,防止冲突
#systemctl status mariadb
Systemctc stop mariadb
rpm -e --nodeps mariadb-server mariadb
3.启动服务:服务名称 进程名称 端口号 传输协议
进程所有者 进程所属组 数据库目录
4.网站服务和数据库服务一起使用
LAMP LNMP
mysql>system 系统命令 //在数据库里执行系统命令
数据存储过程
一.连接数据库服务器
2.修改密码验证策略和密码长度,修改密码
3.使用修改的密码登陆
4.修改服务的主配置文件使用密码验证策略永久生效
# which mysql
/usr/bin/mysql
# rpm -qf /usr/bin/mysql //查看命令是由哪个软件包提供
mysql-community-client-5.7.17-1.el7.x86_64
# grep password /var/log/mysqld.log //查看日志文件
2018-01-17T03:07:08.701090Z 1 [Note] A temporary password is generated for root@localhost: !6FvuDf/%yua //初始密码
1.使用初始密码登陆数据库服务器
# mysql -uroot -p'!6FvuDf/%yua' //以数据库root身份初始密码登陆
2.修改密码验证策略和密码长度,修改密码
mysql> set global validate_password_policy=0; //密码验证策略为0,只检查长度
mysql> set global validate_password_length=6; //在全局配置密码长度不小于6位
mysql> alter user root@'localhost' identified by '123456'; //设置密码为123456
设置为永久生效
# vim /etc/my.cnf
[mysqld]
validate_password_policy=0
validate_password_length=6
#systemctl restart mysqld //重启服务
二.建数据库
库和表都是以文件的形式存在数据库目录下的
查看:show databases;
创建:create database 库名;
删除:drop database 库名;
切换:use 库名;
显示当前所在库:select database();
SQL语法规则
SQL命令分类:
-DDL数据定义语言
-DML数据操作语言
-DCL 数据控制语言
-DTL 数据事物语言
数据库命名规则
-可以使用数字/字母/下划线,但不能纯数字
-区分大小写,具有唯一性
-不可使用指令关键字,特殊符号
三.建表
建表:create table 库名.表名(
字段名 类型() 约束条件,
字段名 类型() 约束条件,
.....
);
Create database stud;
Create table stud.studinfo(
name char(15),
sex char(4),
class char(7)
);
mysql> create table studinfo (name char(15),sex char(4),class char(7));
四.插入记录
查看:select * from 库.表;
插入表记录:insert into stud.studinfo values(‘tom’,’boy’,’nsd1710’)
删除表记录:delete from 库.表;
查看表结构:desc 库.表;
修改表记录:update 库.表 set 字段名=‘修改内容’ where name=’tom’