数据库
一、什么是数据库
- 数据库:管理数据的系统 - 安装某种管理数据的系统 - 管理的对象本质是文件
- 存储数据的位置:内存、硬盘
- 什么是系统:运行在硬件基础上,管理其他软件
二、数据库的组成
- 库:存放多张表 - 文件夹
- 表:包含多条相同结构的记录 - 文件
- 记录:包含多个key-value键值对的一条数据 - 二进制数据
- 字段:描述信息 - 信息本身 == key-value - 二进制数据
stu
id name age gender
1 Bob 18 男
2 Tom 17 女
三、数据库的分类
-
关系与非关系
关系:数据库中表与表之间有联系 - mysql
非关系:没有表概念 - redis、mongodb(介于关系与非关系)
-
内存与硬盘
硬盘:数据可以永久存储 - mysql、mongodb
内存:数据的存取效率极高 - redis、memcache
-
sql与nosql
sql:数据库操作通过sql语句
nosql:数据库操作就是key-value形式(value就是一条记录)
stu - {'name': 'Bob', 'age': 18}
stus - [{'name': 'Bob', 'age': 18}, {'name': 'Tom', 'age': 18}]
name - 'Jerry'
四、卸载
注意:前提,启动终端,输入 mysql,如果不是提示 不是内部或外部命令,代表已安装数据库
-
直接连入
-
搜索:服务,检索mysql服务,如果服务开启, 停止服务,并移除服务 - 启动管理员终端:mysqld --remove
-
搜索
服务,检索mysql服务,无 (mysql使用命令启动)
停止服务,启动管理员终端
tasklist | findstr mysql
taskkill /pid 进程pid /f
-
-
连接超时
搜索:服务,检索mysql服务,移除服务即可
-
移除环境变量
- 如果能连入,先停止服务
- 如果添加了服务,就移除服务
- 取消环境变量配置
五、安装
- 下载MySql解压免安装版本(5.6 - 没有初始密码)
- 配置环境变量
- 安装服务端 mysqld – install
- 启动mysql
六、连接数据库
- 游客登陆
>>: mysql # 不一定能登入,登入了也啥都不能干
- 账号密码登录
>>: mysql -u 用户名(root) -p 密码
eg: mysql -u root -p ‘123’
- 连接指定服务器的MySql
>>: mysql -h ip地址 -P 端口号 -u 用户名 -p密码
eg: mysql -h 127.0.0.1 -P 3306 -u root -p ‘123’
- 退出数据库
>>: quit
>>: exit
七、用户信息查看
- 查看当前登录的用户
>>: select user();
- root权限下可以产看所有用户信息
>>:select * from mysql.user; # 以二维表的形式显示
>>: select * from mysql.user G; # 以列的形式显示
>>: select user, password, host from mysql.user # 查看用户名,密码,ip
- root登录下, 删除游客(操作后要重启mysql服务)
>>: delete from mysql.user where user=“”;
- root登录下,修改密码(操作后要重启mysql)
>>:update mysql.user set password = password(“密码”) where host=‘localhost’;
- 没有登录修改密码
>>:mysqladmin -u 用户名 -p 旧密码 -h 域名 password ‘新密码’
mysqladmin -u root -p ‘123’ -h locahlost password ‘123456789’
- root登录下,创建用户
>>: grant 权限们 on 数据库名.表名 to 用户名@主机名 identified by '密码';
八、数据库的基本操作
- 查看已有的数据库
>>: show databases;
- 选择某个数据库
>>:use 数据库名
eg: use db1;
- 查看当前所有的数据库
>>: select database();
- 创建数据库
>>: create database 数据库名称 [charset=‘字符编码’];
eg: create database db1 # 编码格式默认
eg create dataase db2 charset = ‘utf8’
- 查看创建数据库的详细内容
>>: show create database 数据库名称
eg: show create database db1
- 删除数据库
>>:drop database 数据库
eg: drop database db1
九、表的基本操作
- 选择某个数据库
>>: user 数据库名;
eg user db;
- 查看已有的表
前提:先选取要操作的数据库
>>:show tables;
- 创建表(简易版)
>>: create table 表明(字段1 类型,….. 字段n 类型 );
eg: create table student(name);
- 查看创建表sql
>>: show create table 表名;
eg: show create table student;
- 查看创建表的结构sql语句
>>:desc 表名;
eg: desc student;
- 删除表
>>:drop table 表名;
eg: drop table student;
十、记录的基本操作
-
查看某个数据中的某个表所有记录(如果在对应数据库中,可以直接查找表, 简易版)
>>: select * from 表名;# 简易版
eg: select name, id from student; # 简单查询
-
给表插入多个字段
>>: insert into 表名(字段名) values (字段名1=字段值, ….. 字段名n =值, ….;
eg: insert into student values(name=‘zhangsan’, age=29); # 插入一个数据
eg: insert into student values(name=‘tom’, age=18), (‘bob’, 34); # 插入多个值
eg: insert into db.student values(name=‘lisi’, age=10) # 指定库下面表插入值
-
根据条件修改指定内容
>>: update 表名 set 字段名1=值,… 字段名2=值 where 字段=值
eg: update student set name = ‘bob2’ , age=18 where name = ‘lisi’;
- 根据条件删除记录
>>: delete from 表名 where 字段名=值;
eg: delete from student where name=‘bob2’;