1028 数据库基础操作

数据库

什么是数据库

用来存储数据的仓库
数据库可以在硬盘以及内存中存储数据

数据库与文件存储数据的区别

数据库本质也是通过文件来存储数据,数据库的概念就是系统的管理存储数据的文件

数据库介绍

数据库服务端: 存放数据库的主机集群
数据库客户端: 可以连接数据库的任意客户端
数据库管理员:DBA

# socket套接字的c/s架构应用

数据库基本概念

库: 多表构建一个数据库,本质就是文件夹

表:多条数据构建一张表,本质就是文件

记录: 存放一条条数据本质就是文件中的一条条数据记录

数据库系统的特点

  1. 数据结构化
  2. 数据共享,冗余度低,易扩充.
  3. 数据独立性高
  4. 数据由DBMS统一管理和控制
    1. 数据的安全性保护
    2. 数据的完整性检查
    3. 并发控制
    4. 数据库恢复

数据库分类

关系型数据库

  1. 有表的概念
  2. 以表中一条条记录存储数据
mysql,maridb     免费 ,常用
Oracle			甲骨文,收费,金融公司
sqlserver		微软,大学,政府,(汽车之家🚕)
sqlite			小型的文件数据库,自用
access			
db2 

非关系型数据库

  1. 没有表的概念
  2. 通过key-value键值对方式存储数据
MongoDB			文件型数据库
redis			微博
memcache		十年前的产品(新浪博客)

区别

关系型数据库,把数据存在硬盘中

非关系型数据库,把数据存在内存中

mysql数据库

mysql是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,被Oracle(甲骨文公司)收购.MySQL最流行的关系型数据库管理系统.在web应用方面MySQL是最好的RDBMS(关系数据库管理系统)应用软件之一

MySQL的架构

类似于socket的客户端和服务端

流程:

  1. MySQL服务端先启动,监听在某一个特定的端口(3306)
  2. MySQL客户端连接服务端
  3. MySQL客户端就可以发送相关的操作命令,去操作服务端存储的数据

常用参数

-u : user 用户名

-p : password 密码

-h :host 主机名或ip  mysql -uroot -p -h 192.168.1.10

-P : port 默认是3306  mysql -uroot -p -h 192.168.1.10 -P 3307

数据库安装

1.下载

https://dev.mysql.com/downloads/mysql/,下载MySQL Community Server 5.7.16

2.解压

将MySQL压缩包安装在指定目录,将文件夹移动至指定位置

3.添加环境变量

右键计算机 == 属性 == 高级系统设置 == 高级 == 环境变量 == 系统变量 == path == 添加 == 将MySQL的bin目的地址添加即可

都需要手动cd盘符,添加环境变量不需要切换盘符,可以在cmd中直接输入mysql以及mysqld

4.初始化

添加环境变量结束后,再cmd命令行中输入mysqld --initialize-insecure ,即是创建data目录,初始化数据

5.启动MySQL服务端

mysqld

即MySQL服务,cmd命令中输入mysqld ,启动MySQL服务

7.启动MySQL客户端

mysql -u root -p

启动服务,并连接MySQL服务,不要关闭上一个cmd,另打开一个cmd,输入mysql -u root -p ,进行连接MySQL的服务器

-u 是用户名,默认为root  ,-p 是密码,默认为空

8.制作Windows的服务

"D:\mysql-5.7.28\bin\mysqld" --install

为了让服务端不阻塞,制作MySQL的Windows服务,在cmd命令中输入"D:\mysql-5.7.28\bin\mysqld" --install (将MySQL的mysqld的目录放入 + --install ),如果权限不足,使用cmd 的管理员功能运行.

制作服务端的Windows的服务,使得在window中启动mysqld服务端
cmd直接启动mysql客户端,不会等待阻塞,可输入启动客户端命令

9.修改密码

知道旧密码的情况下:

法1 : 登录之前修改密码: 
mysqladmin -u root -p 旧密码 password "新密码"  (双引号)

法2 : 登录之后修改密码:  
set password for root@localhost=password("新密码")

遗忘密码的情况下:

法1 : 
	- 首先关闭系统服务中已经启动的MySQL服务端
	- 绕过授权表启动服务: mysqld --skip-grant-tables;
	- 任意密码都可登录root用户 : mysql -uroot -P 任意
	- 更新密码: 输入整条命令 :update mysql.user set authentication_string=password('') where user = 'root';
	- 刷新权限 : flush privileges;
	- 重新启动MySQL服务

法2:
    #1. 关闭mysql,可以用tskill mysqld将其杀死
    #2. 在解压目录下,新建mysql配置文件my.ini
    #3. my.ini内容,指定
        [mysqld]
        skip-grant-tables
    #4.启动mysqld
    #5.在cmd里直接输入mysql登录,然后操作
        update mysql.user set authentication_string=password('') where user='root and host='localhost';
        flush privileges;
        
    #6.注释my.ini中的skip-grant-tables,然后启动myqsld,然后就可以以新密码登录了

库的基本操作

前提:连接上数据库

创建数据库 :

采用默认编码集 :
	create database 数据库名
	
自定义编码集 : 
	create database 数据库名 charset = "utf8"

命名规范

可以由字母、数字、下划线、@、#、$
区分大小写
唯一性
不能使用关键字如 create select
不能单独使用数字
最长128位

查看数据库全部的信息

- 纵观所有数据库
	show databases;   # 记得加 ';'
 
- 详细信息
	show create database 数据库名 ;
    
- 使用数据库
	use 数据库名 ;

- 查看当前库中表
	show tables;

- 查看当前的数据库
	select database();
    

更改数据库的编码集

alter database 数据库名 charset utf8 ;

移除数据库

drop database 数据库名 ;
posted @ 2019-10-28 17:14  fwzzz  阅读(210)  评论(0编辑  收藏  举报