一、Mysql数据库
- 什么是数据库:用来存储数据的仓库,数据库可以在硬盘及内存中存储数据
- 数据库与文件存储数据区别:数据库本质也是通过文件来存储数据,数据库的概念就是系统的管理存储数据的文件
数据库介绍
- 数据库服务端:存放数据库的主机集群
- 数据库客户端:可以连接数据库的任意客户端
- 数据库管理员:DBA
数据库基本概念
库:多表构建一个数据库,本质就是文件夹
表:多条数据构建一张表,本质就是文件
记录:存放一条条数据,本质就是文件中一条条数据记录
数据库分类
关系数据库:
- 有表的概念
- 以表中一条条记录存储数据
- mysql、oracle、sqlserver、access、db2
非关系型数据库:
- 没有表的概念
- 通过key-value键值对方式存储数据
- mongodb、redis、memcache
数据库安装
- 安装server端与client端
- 如何启动server? 如果通过client连接server
数据库启动与连接
前提:配置环境变量
- 前往数据库安装路径,bin文件夹下,cmd执行mysqld启动mysql服务器端
- 前往数据库安装路径,bin文件夹下,cmd执行 mysql启动mysql客户端连接服务器端
- 将mysql服务器添加到系统服务,在系统服务中启动mysql,命令:mysqld --install
- 进入系统服务:win+r => services.msc => 找到mysql服务手动启动或关闭
- 连接数据库:mysql -h localhost -P3306 -uroot -p
- 通过最高权限进入数据库,要采用root用户进入,连入本地数据库:mysql -uroot -p
- 查看mysql版本:select version();
- 查看当前用户:select user();
- 查看mysqld下的(当前用户可以操作的)所有数据库:show databases;
密码操作
- root用户设置密码:mysqladmin -u root password “newpwd”
- 修改密码: mysqladmin -uroot -p旧密码 password “新密码”
- 遗忘旧密码:
- 绕过授权表启动服务(安全认证的服务停止):mysqld --skip-grant-tables
- 以任意密码登陆root用户:mysql -uroot -p任意
- 更新密码:update mysql.user set password=password(“新密码”) where user=“root” and host=“localhost”;
- 刷新权限:flush privileges;
统一字符编码
-
查看数据库配置信息:\s => 统一编码 => 防止乱码(读取不方便,数据丢失)
-
在mysql安装根目录下:创建my.ini(命令:type nul>文件名.ini),Linux是my.cnf文件
-
设置配置信息并保存
[mysqld]
#port=7777
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
-
重启服务
二、数据库基本操作
库的基本操作
前提:连接上数据库
1. 增:创建数据库
采用默认编码集:create database db1;
自定义编码集:create database db1 charset="gbk";
2. 查:查看数据库全部信息
查看所有数据库:show databases;
详细信息:show create database db1;
3. 改:修改数据库编码集
alter database db1 charset="utf-8";
4. 删:移除数据库
drop database db1
表的基本操作
前提:在具体的某个库下创建表
进入指定数据库:use db1
查看当前使用的数据库:select database();
1. 增:创建表(字段1 类型,..........,字段n 类型)
create table t1(name char,age int);
2. 查:查看表信息
查看所有数据表:show tables;
详细信息:show create table t1;
表字段机构信息:desc t1;
3. 改:
修改字段属性:alter table t1 modify name char(20);
修改字段名:alter table t1 change name usr char(16);
修改表名:alter table t1 rename t2;
4. 删:移除表
drop table t1;
字段的基本操作
前提:知道具体操作的是哪张表
1. 增:添加字段
insert into t1(usr,age) values ("aa",18),("bb",8);
2. 查:
select * from t1;
3. 改:
update t1 set age=28 where usr="aa";
4. 删:
delete from t1 where age>8;