【python开发】安装&配置&启动+数据库管理+表管理+数据行管理+python操作Mysql及相关安全的问题

发布于:2024-03-23 ⋅ 阅读:(47) ⋅ 点赞:(0)

一、安装&启动

1、安装

https://downloads.mysql.com/archives/community/,进入网址后选择合适的版本,具体配置过程并不会(找人帮忙装的)

2、测试

安装好之后打开终端,输入which mysql,回车查看mysql安装路径/usr/local/mysql/bin/mysql,然后输入/usr/local/mysql/bin,进入到mysql中,输入mysql -u root -p,弹出输入密码的提示,然后输入mysql密码,这就已经启动了mysql。

如果需要启动mysql,只需要打开终端输入mysql -u root -p,如果不使用mysql了就可以输入exit退出系统。

请添加图片描述

3、设置和修改root密码

window系统中默认的root账号没有密码,如果想为账户设定密码,可以在登陆之后执行命令:set password = password(“root123”),但这个前提是能够进得去数据库,要么数据库本来就没密码要么就是知道原来密码但是要设定新的密码。

忘记密码时:
(1)修改配置文件,在【mysql】节点下添加skip-grant-tables = 1;

(2)重启mysql,再次登陆时,不需要密码直接可以进去了,重启指令:[win] net stop mysql、net start mysql,[Mac] study mysql.server restart;

(3)重庆之后无需密码就可登陆 mysql -u -root -p;

(4)进入数据库后执行修改密码命令: use mysql;点击回车后执行update user set authentication_string = password(‘新密码’), password_last_changed = now() where user = ‘root’。

(5)退出并再次修改配置文件,删除[mysql]节点下的skip-grant-tables =1

(6)再次重启,以后就可以使用密码登陆了。

二、数据库管理

安装之后,可以通过指令让Mysql作出一些文件操作。

1、内置客户端操作

(1)查看当前所有的数据库(show databases);

请添加图片描述

(2)创建数据库:create database learn(数据库名);

但是当我们在定义一个数据库的时候往往会同时定义好它的编码规则,因此命令可以写作:create database learning
(数据库名)DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
请添加图片描述

(3)删除数据库:drop database learning(数据库名);

请添加图片描述

(4)进入数据库/使用数据库:use database test_shcema(数据库名);

(5)查看数据库下包含的表:show tables;

请添加图片描述

(6)退出:exit

退出指令exit并不需要封号,如果需要退出本命令行,只需要输入\c即可。
请添加图片描述

2、用python操作mysql的代码

用python来操控mysql时,代码跟内置代码有些许不同,python命令如下:

(1)连接Mysql

import pymysql


#连接mysql(用到了网络编程socket)

conn = pymysql.connect(
    host='127.0.0.1',
    #port = 3306,
    user='root',
    password='12345678',
    database='test_schema',
    charset='utf8'
)


#构造游标,通过游标来操控mysql
cursor = conn.cursor()

(2)参看数据库

#通过游标发送命令
cursor.execute('show databases')
#通过游标来获取mysql的返回值
result = cursor.fetchall()
print(result)
#(('information_schema',), ('mysql',), ('performance_schema',), ('sys',), ('test_schema',))

(3)创建数据库

需要注意的是,如果是查询的话,使用cursor.fetchall()即可,如果是需要增删改就需要用到conn.commit()

cursor.execute("create database learing default charset utf8 collate utf8_general_ci")
#增删改查都需要用conn.commit()指令
conn.commit()


#通过游标发送命令
cursor.execute('show databases')
#通过游标来获取mysql的返回值
result = cursor.fetchall()
print(result)
#(('information_schema',), ('learing',), ('mysql',), ('performance_schema',), ('sys',), ('test_schema',))

(4)删除数据库

cursor.execute("drop database learing")
conn.commit()

cursor.execute('show databases')
result1 = cursor.fetchall()
print(result1)
#(('information_schema',), ('mysql',), ('performance_schema',), ('sys',), ('test_schema',))

(5)查询数据库中的表

cursor.execute('use test_schema')
cursor.execute('show tables')
result2 = cursor.fetchall()
print(result2)
#()

三、表管理


网站公告

今日签到

点亮在社区的每一天
去签到