一、Navicat使用

1、测试+链接数据库,新建库

2、新建表,新增字段+类型+约束

3、设计表:外键

4、新建查询

5、建立表模型

二、python操作数据库

pymysql使用步骤:

1、与数据库服务器建立链接

2、获取游标对象(用于发送和接收数据)

3、用游标执行sql语句

4、使用fetch方法来获取执行的结果

5、关闭链接:先关游标再关链接

import pymysql

# 创建一个链接得到一个链接对象

conn = pymysql.connect(

host='127.0.0.1',

port=3306,

user='root',

password='',

database='day41',

charset='utf8'

)

# 获取游标对象 pymysql.cursors.DictCursor返回的结果为字典,默认是元组类型

cursor = conn.cursor(pymysql.cursors.DictCursor)

# 执行sql, 如果是select 语句返回的是查询的条数

res = cursor.execute('select * from class')

print(res)

# 获取查询的结果

# print(cursor.fetchall()) # 获取所有查询到的数据

print(cursor.fetchone()) # 一个一个的查# cursor.scroll(1, 'absolute') # 绝对移动,参照开始位置

cursor.scroll(1, 'relative') # 相对移动,往后移动一个位置# 关闭链接

cursor.close()

conn.close()

三、sql注入以及增删改查

1、SQL注入: 千万不要手动拼接(关键性参数)查询条件,查:校验用户和密码是否正确

import pymysql

conn = pymysql.connect(

host='127.0.0.1',

port=3306,

user='root',

password='',

database='day41_1',

charset='utf8',

)

cursor = conn.cursor(pymysql.cursors.DictCursor)

username = input('username:>>>')

password = input('password:>>>')

sql = 'select * from userinfo where name=%s and password=%s' # sql注入,千万不要手动拼接(关键性参数)查询条件

print(sql)

res = cursor.execute(sql, (username, password))

if res:

pass

else:

print('用户名和密码错误')

2、增:往表userinfo内增加用户名和密码

import pymysql

conn = pymysql.connect(

host='127.0.0.1',

port=3306,

user='root',

password='',

database='day41_1',

charset='utf8',

autocommit=True # 和下面的connmit()是同一个意思,选一个就好

)

cursor = conn.cursor(pymysql.cursors.DictCursor)

username = input('username:>>>')

password = input('password:>>>')

sql = 'insert into userinfo(name,password) values(%s,%s)'

res = cursor.execute(sql, (username, password))

# connmit() # 确认数据无误之后 commit之后才会将数据真正修改到数据库

print(sql)

if res:

pass

else:

print('用户名和密码错误')

3、改:修改指定userinfo表中id的用户名或者密码

import pymysql

conn = pymysql.connect(

host='127.0.0.1',

port=3306,

user='root',

password='',

database='day41_1',

charset='utf8',

autocommit=True # 此行和下面的connmit()意思相同,任选一种即可

)

cursor = conn.cursor(pymysql.cursors.DictCursor)

sql = "update userinfo set name='jerry' where id =4"

res = cursor.execute(sql)

# connmit() # 确认数据无误之后 commit之后才会将数据真正修改到数据库

print(sql)

if res:

pass

else:

print('用户名或密码错误!')

python操作数据库

一,安装mysql 如果是windows 用户,mysql 的安装非常简单,直接下载安装文件,双击安装文件一步一步进行操作即可. Linux 下的安装可能会更加简单,除了下载安装包进行安装外,一般的l ...

python操作数据库之批量导入

python操作数据库之批量导入 Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进. Python具有丰富和强大的库.它常被昵称为胶水语言,能够把用其他语言制作的 ...

零基础学Python--------第11章 使用Python操作数据库

第11章 使用Python操作数据库 11.1 数据库编程接口 在项目开发中,数据库应用必不可少.虽然数据库的种类有很多,如SQLite.MySQL.Oracle等,但是它们的功能基本都是一样的,为了 ...

python操作数据库PostgreSQL

1.简述 python可以操作多种数据库,诸如SQLite.MySql.PostgreSQL等,这里不对所有的数据库操作方法进行赘述,只针对目前项目中用到的PostgreSQL做一下简单介绍,主要包括 ...

Python操作数据库之 MySQL

Python操作数据库之MySQL 一.安装Python-MySQLdb模块 Python-MySQLdb是一个操作数据库的模块,Python 通过它对 mysql 数据实现各种操作. 如果要源码安装 ...

Python接口测试实战3(上)- Python操作数据库

如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

Python学习笔记 - day11 - Python操作数据库

MySQL的事务 MySQL的事务支持不是绑定在MySQL服务器本身,而是与存储引擎相关,MySQL的两种引擎如下: 1.MyISAM:不支持事务,用于只读程序提高性能 2.InnoDB:支持ACID ...

孤荷凌寒自学python第四十四天Python操作 数据库之准备工作

孤荷凌寒自学python第四十四天Python操作数据库之准备工作 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天非常激动地开始接触Python的数据库操作的学习了,数据库是系统化设计 ...

Python操作数据库及hashlib模块

一.hashlib模块 hashlib模块,主要用于加密相关的操作,在python3的版本里,代替了md5和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA51 ...

随机推荐

react学习笔记1

# 1.hello world 学习一个语言,最好的方式,我们需要去官网去查看文档(https://facebook.github.io/react),通过JSFiddle,便可以看到最简单的demo ...

检查URL地址脚本

方法一: [root@Centos-6 script]# vi check_url_01.sh #!/bin/sh #this script is created by nulige #check u ...

.net Sql语句批量插入数据库数据

#region 使用SqlBulkCopy public static bool ExecuteTransactionScopeInsert(DataTable dt, int batchSize) ...

【C++】const

1. 默认状态下,const对象仅在文件内有效,即在不同文件中出现同名const变量的时候,其实相当于这些同名const是不同的东西. 如果想要在文件中共享const变量,可以在const变量不管是声 ...

BZOJ3711 : [PA2014]Druzyny

设f[i]为[1,i]分组的最优解,则 f[i]=max(f[j]+1),max(c[j+1],c[j+2],...,c[i-1],c[i])<=i-j<=min(d[j+1],d[j+2 ...

JavaWeb项目的classpath说明

概念解释: classpath : 即项目中WEB-INF下面的classes目录; 应用: [01] src路径下的文件在编译后会放到WEB-INF/classes路径下.默认的classpath是 ...

C&plus;&plus; 头文件系列&lpar;forward&lowbar;list&rpar;

简介 forwrad_list字面意思为前向列表,但实际上它是一种单向列表,只能从单一方向遍历. 单向链表实现 forward_list内部是用单向列表实现的,并且设计该库的时候就是以近乎手写的单向链 ...

10 - JavaSE之网络编程

网络编程 网络通信协议分层思想 为什么要分层呢?因为整个网络协议非常复杂,要涉及到方方面面的知识,而且还有对底层硬件的操作,利用分层的思想,我们可以将复杂的通信协议分割成一层层的形式,上一层可以调用下 ...

php数据导出excel

/** * 导出数据为excel表格 *@param $data 一个二维数组,结构如同从数据库查出来的数组 *@param $title excel的第一行标题,一个数组,如果为空则没有标题 *@p ...

Simulink--MATLAB中的一种可视化仿真工具

Simulink是MATLAB中的一种可视化仿真工具, 是一种基于MATLAB的框图设计环境,是实现动态系统建模.仿真和分析的一个软件包,被广泛应用于线性系统.非线性系统.数字控制及数字信号处理的建 ...

更多推荐

python怎么调用navicat_Navicat使用与python操作数据库