mysql数据库
什么是数据库
# 用来存储数据的仓库
# 数据库可以在硬盘及内存中存储数据
# 数据库与文件存储数据区别
# 数据库本质也是通过文件来存储数据, 数据库的概念就是系统的管理存储数据的文件
数据库介绍
数据库服务器端: 存放数据库的主机集群
数据库客户端: 可以连接数据库的任意客户端
数据库管理员: DBA
# socket套接字的C/S架构应用
数据库基本概念
# 重要性: ***
# 库: 多表构建一个数据库, 本质就是文件夹
# 表: 多条数据构建一张表, 本质就是文件
# 记录: 存放一条条数据, 本质就是文件中一条条数据记录
# (字段)id, name, age, gender...一个老师的数据 => 一条数据记录
数据库分类
# 重要性: ***
# 关系型数据库
# 1.有表的概念
# 2.以表中一条条记录存储数据
# mysql oracle sqlServer access db2
# 非关系型数据库
# 1.没有表的概念
# 2.通过key-value键值对方式存储数据
# mongodb redis memcache
数据库安装
# 安装server端与client端
# 如何启动server? 如果通过client连接server
数据库启动与连接
# 前提:配置环境变量
# 了解
# 1.前往数据库安装路径,bin文件夹下,cmd执行 mysqld 启动mysql服务器端
# 2.前往数据库安装路径,bin文件夹下,cmd执行 mysql 启动mysql客户端连接服务器端
# 掌握
# 将mysql服务器添加到系统服务,在系统服务中启动mysql, 命令: mysqld --install
# 进入系统服务: win+r => services.msc => 找到mysql服务手动启动或关闭
# 连接数据库:mysql -hlocalhost -P3306 -uroot -p
# 通过最高权限进入数据库, 要采用root用户进入, 连入本地数据库: mysql -uroot -p
# 查看mysql版本: select version();
# 查看当前用户: select user();
# 查看mysqld下的(当前用户可以操作的)所有数据库: show databases;
密码操作
# ***
# 知道旧密码
# 修改密码: mysqladmin -uroot -p旧密码 password "新密码"
# **
# 遗忘旧密码
# 1.绕过授权表启动服务(安全认证的服务停止): mysqld --skip-grant-tables;
# 2.以任意密码登录root用户: mysql -uroot -p任意
# 3.更新密码: update mysql.user set password=password("新密码") where user=root and host="localhost"
# 4.刷新权限: flush privileges;
统一字符编码
# ***
# 查看数据库配置信息: s => 统一编码 => 防止乱码(读取不方便,数据丢失)
# 1.在mysql安装根目录下:创建my.ini (my.cnf) (命令:type nul>文件名.文件后缀)
# 2.设置配置信息并保存
[mysqld]
#port=7777 注释
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
# 3.重启服务
库的基本操作
# 前提: 连接上数据库
# 1.增,创建数据库
# 采用默认编码集: create database db1; # db1为数据库名
# 自定义编码集: create database db1 charset="gbk";
# 2.查,查看数据库全部信息
# 纵观所有数据库: show databases;
# 详细信息: show create database db1;
# 3.改,修改数据库编码集
# alter database db1 charset="utf8";
# 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;