数据库连接,上手零基础
**数据库
******是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库。 数据库的连接是不需要掌握的。换句话来说,只要你想做动态页面、数据存储、账号密码验证等,数据库连接都是一个很不错的选择
数据库安装+环境配置
Mysql安装包下载
python+Pycharm+annoconda安装包
python+Pycharm+annoconda安装教程
上面的准备工作完成了,ok,下面我们来进行数据库的连接。
出师不利,先安装pymysql这个包
打开安装好的pycharm(python可视化工具),找到Terminal,输入命令 pip install pymysql
,之后所有的、只要是你需要的包你都可以在这里进行安装。可能你的安装非常慢,那是因为这些包在国外网站,搭梯子(翻墙)当然可行,但是不是所有人都可以翻出去的。话有一种方法就是你需要添加下载的镜像,例如豆瓣镜像下载
pip install pymysql -i https://pypi.douban.com/simple/
,其他镜像
下载好了,接下来,下一步,走你~
import pymysql # python 连接数据库的包
db=pymysql.connect(host="localhost",user="root",passwd="123456",port=3306)
# TODO 操作游标
cursor=db.cursor()
cursor.execute("select version()") #execute执行SQL语句
data=cursor.fetchall() # fetchall()获取数据
print(data) # 打印数据
# 关闭数据库
db.close()
结果:
(('5.7.37-log',),)
查看数据库版本号,要是你也出现了版本号,那ok,目前你是连接成功的,下面进行下一步
首先,在数据库中建立一个数据库。
# TODO 鸟欲高飞,必先展翅
# TODO 向前的人 :Jhon
import pymysql # python 连接数据库的包
# TODO host主机名(127.0.0.1也可以) user:用户名,一般都是root passwd mysql连接的密码
# TODO port 端口号 database 数据库名称
db=pymysql.connect(host="localhost",user="root",passwd="123456",port=3306,database="tswtest")
# TODO 操作游标,获取游标
cursor=db.cursor()
# TODO 创建数据库(SQL语句, 后面Java 连接数据库 执行 增删改查操作 也仅仅是SQL语句的改变)
sql='create table students(id varchar(255) not null,name varchar(255) not null,age int not null)'
cursor.execute(sql)
db.close()
单击右键运行上面代码,你会发现数据库中创建了一个students表,你面有学号id,姓名 name 以及年龄 age三个属性。这时候表明数据库连接完成,可以通过游标王数据库中写入表(table)和属性。 连都连上了,操作还难吗-- -- -- --
创建表之后还是空的,而且还没有主键,先不管,让我们先来插入点数据玩玩 SQL插入语句 insert**
insert into students(id,name,age) values(id,user,age);
# TODO 鸟欲高飞,必先展翅
# TODO 向前的人 :Jhon
import pymysql # python 连接数据库的包
id="31910302011"
user="tsw"
age="18"
# TODO host主机名(127.0.0.1也可以) user:用户名,一般都是root passwd mysql连接的密码
# TODO port 端口号 database 数据库名称
db=pymysql.connect(host="localhost",user="root",passwd="123456",port=3306,database="tswtest")
# TODO 操作游标,获取游标
cursor=db.cursor()
# TODO 插入语句
sql="insert into students(id,name,age) values(%s,%s,%s)"
# # TODO 创建数据库(SQL语句, 后面Java 连接数据库 执行 增删改查操作 也仅仅是SQL语句的改变)
# sql='create table students(id varchar(255) not null,name varchar(255) not null,age int not null)'
try: #插入成功 , 执行
cursor.execute(sql,(id,user,age))
db.commit() #对于数据的增删改查都必须要调用 事务提供保证,保证数据的一致性
except: #没插入成功 , 回调 相当于什么都没有发生
db.rollback()
db.close()
下图可以发现数据插入成功,但是如果插入的数据有误应该怎么办呢
下面让我们来看一看
数据插入错误需要修改数据怎么办,update出场。我们修改一下学号,18岁的tsw学好错了怎么能行。
update的sql语句
update students set id=“12332133” name="tsw"
import pymysql # python 连接数据库的包
# TODO host主机名(127.0.0.1也可以) user:用户名,一般都是root passwd mysql连接的密码
# TODO port 端口号 database 数据库名称
db = pymysql.connect(host="localhost", user="root", passwd="123456", port=3306, database="tswtest")
# TODO 操作游标,获取游标
cursor = db.cursor()
# TODO 插入语句
sql = "update students set id=%s name=%s"
try: # 插入成功 , 执行
cursor.execute(sql, ("1234567890", "tsw"))
db.commit() # 对于数据的增删改查都必须要调用 事务提供保证,保证数据的一致性
except: # 没插入成功 , 回调 相当于什么都没有发生
db.rollback()
db.close()
ok,看了上面的增改,应该了解了,因为时间原因删除就不写了,python最数据库的操作就是对数据库语句的操作,所以只要学好数据库的操作,其他都不是问题
连接数据库==》SQL语句进行操作===》查看数据库数据是否变化====》数据变化,成功操作
# TODO 鸟欲高飞,必先展翅
# TODO 向前的人 :Jhon
import pymysql # python 连接数据库的包
# TODO host主机名(127.0.0.1也可以) user:用户名,一般都是root passwd mysql连接的密码
# TODO port 端口号 database 数据库名称
db = pymysql.connect(host="localhost", user="root", passwd="123456", port=3306, database="tswtest")
# TODO 操作游标,获取游标
cursor = db.cursor()
data={
"id":246810,
"name":"牛人陶",
"age":19
}
table="students"
keys=",".join(data.keys())
values=",".join(["%s"*len(data)]) #这段等价于insert
sql=f"insert into{table}{keys} values({values}) on duplicate key update"
update=",".join([f"{key}=%s".format(key=key) for key in keys])
sql+=update
try: # 插入成功 , 执行
if cursor.execute(sql,tuple(data.values())*2):
print("执行成功")
db.commit() # 对于数据的增删改查都必须要调用 事务提供保证,保证数据的一致性
except: # 没插入成功 , 回调 相当于什么都没有发生
print("执行失败")
db.rollback()
db.close()
这个你们懵不懵,反正我懵了,建议收藏慢慢研读,会有很大的提高
注意:
TODO 用法
TODO 在注释后面,使用会使注释不再是黑白的,而是黄色的,用于标注一些重要而不明显的注释。方便代码调试。不仅仅在python 中适用,在java 、C、C++中都是用,是个很牛的语句
- 点赞
- 收藏
- 关注作者
评论(0)