MySql数据库
一、使用数据库的好处
除了解决数据持久化问题,还可以很好的管理数据,非常方便的获取数据,对于关系型数据库来说,还可以保证数据的一致性和完整性。
二、关系性数据库
1、理论基础
关系代数和集合论
2、表现形式
-
用二维表保存数据
- 行:记录
- 列:字段–>存在主键列(primary key)
3、编程语言:SQL(结构化查询语言)
- DDL(数据定义语言):create / drop / alter
- DML(数据操作语言):insert / delete / update
- DQL(数据查询语言):select
- DCL(数据控制语言):grant / revoke
三、关系性数据库产品
- Oracle / MySQL
- SQLServer / DB2 / PostgreSQL / SQLite
四、MySql的安装和使用
1、数据库服务器 MySQL的安装
yum list installed | grep mariadb
yum erase -y mariadb-libs
rpm -ivh mysql-community-common-5.7.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.31-1.el7.x86_64.rpm
yum install -y libaio
rpm -ivh mysql-community-server-5.7.31-1.el7.x86_64.rpm
2、数据库服务器 MySQL的移除
rpm -qa | grep mysql | xargs rpm -e
3、MySQL的使用
1)数据库的基本操作命令:
功能 | 命令 |
---|---|
启动数据库 | systemctl start mysqld |
停止数据库 | system stop mysqld |
重启数据库 | system restart mysqld |
查看数据库状态 | systemctl status mysqld |
2)使用客户端工具连接MySQL:
- step1:获取安装数据库时创建日志信息中的系统分配的初始登录密码,用于第一次登录数据库
cat /var/log/mysqld.log | grep password
- step2:登录数据库
mysql -u root -p
3)修改MySQL超级管理员账号的密码(强口令:包含数字、大小写字母、特殊字符)
alter user 'root'@'localhost' identified by 'Hcl.123';
4)查看所有的数据库
show databases;
5)创建数据库
create database school default charset utf8;
6)删除数据库
数据库不存在不报错
drop database if exists school;
数据库不存在报错
drop database school;
7)切换数据库上下文(切换到自己想要的数据库里面)
use school;
8)查看数据库中所有的二维表
show tables;
9)创建表
此处主要时建立表中的列
其中varchar(20)表示的是不定长度20
char(11)表示定长度为11
default表示默认值
not null表示设置值的时候不能为空
primary key表示设置主键列
create table tb_student (
stuid integer not null,
stuname varchar(20) not null,
stusex boolean default 1,
stutel char(11),
stubirth date,
primary key (stuid)
);
10)删除表(需要深思熟虑)
drop table if exists tb_student;
11)修改表(第一行标题行)
删除stuel列
alter table tb_student drop column stutel;
增加stuaddr列
alter table tb_student add column stuaddr varchar(50);
修改表中某列的内容属性
alter table tb_student modify column stusex char(1) default '男';
修改表中的类标题名称(第一行):将stusex的名称改为stugender,内容属性改为布尔值,默认为1
alter table tb_student change column stusex stugender boolean default 1;
12)查看表结构:
desc tab_student;
13)了解数据类型相关知识
? data types; -- 数据库中所有可用数据类型
? varchar; -- varchar数据类型的具体用法说明
? decimal; -- decima数据类型的具体用法说明
14)向学生表中插入数据
insert into tb_student values
(1001, '王大锤', 1, '1992-3-5', '四川成都');
15)创建用户,分配权限(数据库用户)
主要用于Navicat的登录连接MySQL库,root用户不能登录成功;
创建用户明和密码:
create user 'huchaolin'@'%' identified by '123Hcl456&';
分配权限:
grant all privieges on *.* to 'huchaolin'@'%';
保证权限生效:
flush privileges;
五、MySQL图形化客户端工具
工具名称 | 特点 |
---|---|
MySQL Workbench | 官方,不要钱(不太好使用) |
Toad for MySQL | / |
SQLyog CE / EE | 强大,界面比较复杂 |
Navicat for MySQL | 界面简单直观、 商业软件、可以试用2周(推荐使用,比较适合初学者) |