首页 > 数据库 >python之数据库MySQL

python之数据库MySQL

时间:2023-07-10 21:46:50浏览次数:33  
标签:python 数据库 MySQL 密码 版本 mysql 服务端

数据的演变史

# 以ATM为例
# 1. 把数据存放在单个文件里面
	1. 文件名不规范
    2. 数据格式也不规范
    	kevin|123   kevin$123  kevin*123
# 2. 软件目录开发规范
	db文件夹里
    	# 当数据量多的时候,会产生很多的文件,多次读取文件会占用大量的资源
# 3. 数据库阶段
	把数据单独存放在一台计算机上
    '''数据库能解决以上你所有遇到的问题.'''
    

数据存储发展史

1. 单机游戏阶段
	# 数据各自保存在各自的电脑上,不能实现数据的共享
2. 联网游戏
	# 核心就是可以在计算机之间数据共享,数据库一定是基于网络的!!!
    
  '''以上所有遇到的问题核心都是基于数据的'''

数据库的本质

'''数据库的本质其实就是cs架构的软件'''
cs架构的软件就必须有服务端和客户端,理论上来说,我们每个人都能写一款数据库出来,只不过是你写的数据库没人用,因此,市面上有很多牛逼的程序员,就写了很多的数据库软件,所以,你也会发现,现在市场上的确有很多的数据库

数据库的分类

'''市面上有很多的数据库,但是,大致分类两大类'''
1. 关系型数据库
	MySQL、Oracle、SqlServer、PostgreSQL、sqlite、MariaDB、db2、access
    MySQL:开源免费的
	Oracle:不开源,收费
    MariaDB:开源的

2. 非关系型数据库
	Redis缓存数据库(新项目使用)memcahce缓存数据库(老项目有再用)、MongoDB(爬虫)
    '''redis淘汰了memcahce'''
    
3. 二者的特点
	"""
		关系型数据库:
			拥有固定的表结构,表与表之间可以建立关系
		非关系型数据:
			没有固定的表结构,它是以K:V键值对的形式存储数据
			name------------------->kevin
			age-------------------->20
	"""

sql与NoSql

# 服务端为了兼容各个客户端的交互,统一规定了交互格式:
	mysql >>>>>>: sql
    redis >>>>>>>: nosql

MySQL简介

1. 版本问题
	# 4.x之前的版本直接忽略,不够稳定
    5.6:老项目用的多,是最稳定的版本
    5.7: 新老项目都在用
    8.x:最新版本
'''在IT界,生产环境中尽量不要使用最新版本,测试环境中用哪个版本都可以'''
# 任何软件,生产环境中,都要使用稳定版本,而不是追求最新版本
# 教学使用5.6版本,如果你下载了其他版本也无所谓
'''如果你之前的电脑装过mysql,而卸载的方式又不对,就有可能存在很多的残留垃圾文件,如果不删除掉,就有可能导致新的mysql装不上,装上之后,有可能启动不起来,反正就是各种问题!!!'''

# 如果你的电脑中确实存在了残留文件,怎么办呢?
利用一些杀毒软件,去检测你电脑上的残留文件,然后把检测出来的垃圾文件全部删除即可

'''今天的任务,每个人必须把MySQL装成功!!!'''
2. 下载MySQL
	# 1. Windows版本
    # 2. mac版本
    # 3. linux版本
    我们使用 Windows版本的,mac版本有教程,linux版本这里不讲
3. 下载
	去挂网下载:https://www.mysql.com/ >>>>>>   DOWNLOAD    >>>> 
     # 下载下来之后,是一个zip的压缩包,去解压文件
4. mysql目录介绍:
	# bin
        mysql.exe # 这个是mysql自带的客户端
        mysqld.exe # 这个是mysql的服务端
   # data
	   '''它是mysql的存储数据的地方'''
    my-defalut.ini   # 这个是mysql的配置文件
    README   # 是说明文件
    
5. 如何使用mysql
	1. 先启动服务端,要去到bin路径下找到mysqld.exe启动文件
    2. 启动客户端(新建一个cmd窗口出来),链接服务端(服务端的cmd窗口不能关闭)
	3. ctrl + c是停止服务的
    4. 把mysqld服务端所在的路径加入到环境变量中
    5. 制作系统服务
    	# 目的:就是可以随时关闭mysql的服务端,达到开启自启动,自关闭
        1. 先关闭已经启动的服务端
        2. 在打开cmd窗口:
        	mysqld --install (Install/Remove of the Service Denied!) # 没有权限
            '''使用管理员方式启动cmd'''
        	# 第一次安装成功之后,服务并没有启动,需要手动启动一次
        3. 启动服务的方式:
            	1. 鼠标点击启动按钮
                2. net start mysql  # (管理员权限)
        4. 停止服务
        	1. 鼠标点击停止
            2. net stop mysql # (管理员权限)
       5. 如何卸载服务
    		1. 先关闭服务
        	2. mysqld --remove
            
# 如何退出客户端:  exit
'''
	打开服务的方式:
		1. 在底部任务栏右键选择任务管理器  >>>>>  服务
		2. 此电脑右键  >>>  管理  >>>  服务和应用程序 >>> 服务
		3. win + r  >>>  输入:services.msc  >>>  回车
'''

修改管理员密码及忘记密码怎么办

1. 修改管理员密码
	mysqladmin -u用户名 -p旧密码 password 新密码 
	# mysqladmin -u root -p password 123
2. set password=PASSWORD('密码')
	
    
'''管理员密码改完之后,一定要使用管理员账号登录:'''
mysql -u root -p密码
# 直接输入mysql登录是游客模式
# 以后都用管理员模式登录,不要使用游客模式,游客模式只能查看,权限很低

'''忘记密码了怎么办?'''
1. 先停止服务端
2. 用'跳过授权表'的形式再次启动服务端
	mysqld --skip-grant-tables
    '跳过授权表' >>>: 客户端在登录mysql的时候,只需要输入用户名即可,不在验证密码
3. 用管理形式登录成功之后,进行修改密码
	# 下面的命令先了解,你看不懂
    update mysql.user set password=password('123') where Host='localhost' and User='root';
4. 退出客户端,终止服务端
5. 不要在使用跳过授权表了,正常启动服务

以上的修改密码可参考此连接博客,我觉得写得很清晰:https://www.cnblogs.com/rmxd/p/11236736.html

概念补充

库    >>>  文件夹

表    >>>  文件夹下的文件

记录   >>>  文件夹下的文件下的一行行的数据

'''
	information_schema库是mysql默认在内存中创建的库
'''

基本SQL语句

'''在mysql中,sql语句都要以分号结尾!!!'''
1. 如何查看所有的数据库
	show databases;  # 查看所有数据库

2. 如何选择数据库
	use 库名;
    user mysql;
3. 查看当前在哪个库下
	select database();

针对库的sql语句

1. 查看库
	show databases; # 查看所有库
    show create dabatabse db1;  # 查看具体库的信息
   
2. 增加库
	create database 库名;
    
3. 修改库 # 一般很少用,甚至于不用
# alter database 库名 charset='gbk'
alter database db1 charset='gbk'

4. 删除库
drop database 库名
	drop database 库名;
    drop database db1;	

针对表的sql语句

1. 查看表
	show tables;  # 查看库下的所有表
 
    desc  t1;  # 查看表结构
    show create table t1;
 
2. 增加表
	create table t1(id int, name varchar(10));
3. 修改
	# 修改表明
    alter table t1 rename tt1; # 重命名表名
 4. 删除
	drop table tt1;

标签:python,数据库,MySQL,密码,版本,mysql,服务端
From: https://www.cnblogs.com/huangchunfang/p/17542402.html

相关文章

  • opencv-python图像处理模块(一)
    本章节主要记录了图像颜色空间转换(着重讲述了hsv空间和对应的一个roi颜色提取实验);图形的基本绘制,包括绘制直线,矩形,圆和椭圆,还有中英文文字绘制;利用鼠标和键盘控制绘制图形,在图像上面显示某一点的坐标和对应的rgb像素值或者hsv值;以及在图片合适的位置添加logo水印。1图像颜色空间......
  • 【Python】Locust持续优化:InfluxDB与Grafana实现数据持久化与可视化分析
    前言在进行性能测试时,我们需要对测试结果进行监控和分析,以便于及时发现问题并进行优化。Locust在内存中维护了一个时间序列数据结构,用于存储每个事件的统计信息。这个数据结构允许我们在Charts标签页中查看不同时间点的性能指标,但是正因为LocustWebUI上展示的数据实际上是存储......
  • MYSQL--数据取整的方法
    在MySQL中,我们经常会需要取整数。本篇文章将详细介绍MySQL中取整数的多种方法。一、使用ROUND函数ROUND函数用于将一个数四舍五入到指定的小数位数。如果小数位数为0,则返回整数部分。 为小数位数。SELECTROUND(3.14159,0);--结果为3SELECTROUND(3.14159,1);--结果为......
  • sql记录:FIELD函数解决mysql中in传值顺序问题
    1.问题描述in查询的结果传值顺序与结果显示顺序不一致,默认对id进行排序显示结果,eg:如果是5号用户先点赞,1号用户后点赞,但是查询结果是1号用户显示在5号用户的前面,也就是说导致结果1号用户先点赞,5号用户后点赞,需要使用FIELD函数解决2.问题解决SELECTid,phone,password,nick_n......
  • 数据库mysql
    数据的演变史'''以ATM为例'''1.把数据存在了文件中文件名:user.txt、userinfo.txt数据格式:kevin|123、kevin@123、kevin!1232.软件开发目录规范db文件夹#专门用来存储数据文件,但是,当数据文件较多的时候,占用过多的资源,也会产生很多的文件......
  • 碎片对MySQL的影响
    常见的碎片类型·SegmentFragmentation:段产生了碎片;没有按照数据的顺序存储,或者在数据页之间有空的页·TablespaceFragmentation:表空间中存储的是非连续的文件系统块·TableFragmentation:表中数据不是按照主键的顺序存储的。或者表的页有大量空闲空间。比如,表定义成了堆......
  • 嵌入式数据库简介
    什么是嵌入式数据库?嵌入式数据库主要有两种定义:用于嵌入式系统(如移动设备或消费电子产品)的数据库。嵌入式数据库需要占用空间小,并在内存和CPU能力有限的环境中提供足够的性能。嵌入到应用程序中的数据库--这意味着应用程序不与数据库服务器通信,而是内置数据库组件。这种类型的......
  • python遍历tk菜单项的名字
    直接上代码:fromtkinterimport*defprint_menu_items(menu):num_items=menu.index('end')#最后一个菜单项的索引forindexinrange(num_items+1):#遍历所有的菜单项item_type=menu.type(index)#获取菜单项的类型#菜单项的......
  • python2.2
     制表位8个字节 1个字2个字节1个字节8位1个bit是1个2进制位,1个byte即1B,是1个字节。1B=8b   ord()将字符转换为Unicode编码,chr()将Unicode编码转换为字符eval()忽略‘’和“”#eval()运行时会忽略‘’和“”print('字符串索引与切片')print(eval('字符串索引与切片......
  • MySQL5.6.x二进制包升级到5.7.x
    #!/bin/bash#mysql数据库用户名myuser="root"#mysql数据库密码mypwd="123456"#数据库备份路径dbbakdir="/data/dbbak"#数据库目录datadir="/data/mysql"#系统mysql用户sysmysqluser="mysql"#系统mysql组sysmysqlgroup="mysql"#my......