概述
-
MySQLdb.connect()
Python对MySQL数据库的调用,可以采用MySQLdb模块通过建立连接MySQLdb.connect()完成。
# 建立连接,就是实例化一个connect()对象
con = MySQLdb.connect(host="localhost",user="root",passwd="123123",db="qiwsirtest",charset="utf8")
-
connect()对象(官方文档)有三个常用方法:
-
commit() 官方文档
>>> cursor.execute("INSERT INTO employees (first_name) VALUES (%s)", ('Jane')) # 游标的操作 >>> cnx.commit() # connect的操作
向MySQL服务器提交当前事务。
-
rollback() 官方文档
>>> cursor.execute("INSERT INTO employees (first_name) VALUES (%s)", ('Jane')) >>> cnx.rollback()
当前事务中对数据的所有操作全部撤回,有点向ctrl+z
-
close() 官方文档
cnx.close()
等价于
MySQLConnection.disconnect()
-
cursor()类 维基百科 官方文档
cursor = connect.cursor([arg=value[, arg=value]...]) # 返回一个MySQLCursor() object
**游标(cursor)**是一个存储在MySQL服务器上的数据库查询,它不是一条SELECT语句,而是被该语句检索出来的结果集。在存储了游标之后,应用程序可以根据需要滚动或浏览其中的数据。
游标主要用于交互式应用,其中用户需要滚动屏幕上的数据,并对数据进行浏览或做出更改。
**MySQL检索操作返回一组称为结果集的行。**这组返回的行都是与SQL语句相匹配的行(零行或多行)。使用简单的SELECT语句,例如,没有办法得到第一行、下一行或前10行,也不存在每次一行地处理所有行的简单方法(相对于成批地处理它们)。
有时,需要在检索出来的行中前进或后退一行或多行。这就是使用游标的原因。
简单理解:SELECT出的结果是黑盒整体,不能再进行拆分操作,而游标就是把SELECT的结果做为等值对象,附加新功能,就是可以进入导结果内部,再进行细致操作。
-
MySQLdb用游标(指针)cursor的方式操作数据库,cursor()提供的方法主要实现
- 执行命令
# 插入单条记录
>>> cur.execute("insert into users (username,password,email) values (%s,%s,%s)",("python","123456","python@gmail.com"))
1L # 返回受影响的行数,此处只有1行
### 上述命令只是作出操作,数据库本身并未改变,如要数据库改变,需要下属命令
>>> conn.commit() # 上面是游标操作,这里是将操作这件事务提交给数据库,相当于文本操作后需要ctrl+s保存
-------------------------------------------------------------------------------------------
# 插入多条记录
>>> cur.executemany("insert into users (username,password,email) values (%s,%s,%s)",(("google","111222","g@gmail.com"),("facebook","222333","f@face.book"),("github","333444","git@hub.com"),("docker","444555","doc@ker.com"))) # Value值有多个
4L
>>> conn.commit()
- 接收结果
# 对于发生操作的那几行,如果想要调查查看
fetchall(self):接收全部的返回结果行.
fetchmany(size=None):接收size条返回结果行.如果size的值大于返回的结果行的数量,则会返回cursor.arraysize条数据.
fetchone():返回一条结果行.
scroll(value, mode='relative'):移动指针到某一行.如果mode='relative',则表示从当前所在行移动value条,如果mode='absolute',则表示从结果集的第一行移动value条.
-
SQL语言包含四个部分
- 数据定义语言(DDL):用于定义和管理数据对象,包括数据库,数据表等。例如:
CREATE
,DROP
,ALTER
等。 - 数据操作语言(DML):用于操作数据库对象中所包含的数据。例如:
INSERT
,UPDATE
,DELETE
语句。 - 数据查询语言(DQL):用于查询数据库对象中所包含的数据,能够进行单表查询,连接查询,嵌套查询,以及集合查询等各种复杂程度不同的数据库查询,并将数据返回客户机中显示。例如:
SELETE
- 数据控制语言(DCL):是用来管理数据库的语言,包括管理权限及数据更改。例如:
GRANT
,REVOKE
,COMMIT
,ROLLBACK
等。
- 数据定义语言(DDL):用于定义和管理数据对象,包括数据库,数据表等。例如:
-
Reference
- 菜鸟教程
- 12.数据库之MySQL(概述)
- MySQLdb User’s Guide
- 10.2 connection.MySQLConnection Class --> connect的各种方法
- Home / MySQL Stored Procedure / MySQL Cursor
- Mysql游标入门
- MYSQLdb Connection in Python
- 用Pyton操作数据库(1):建立连接和游标,并insert and commit
最后
以上就是傻傻吐司为你收集整理的MySQL数据库语言之connect()对象及其方法commit()||rollback()||cursor()结构及用法的全部内容,希望文章能够帮你解决MySQL数据库语言之connect()对象及其方法commit()||rollback()||cursor()结构及用法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复