MySQLdb简单查询

什么是MySQLdb

简单的说就是Python 连接 MySQL 的一个模块或者驱动程序,使用起来也很方便。如果你使用过其他语言,例如Java那么jdbc肯定再熟悉不过来了,mysqldb在Python中正是充当了一个类似于jdbc的角色。

怎么使用

数据库操作无非就是CRUD操作(Create,Retrieve,Update,Delete),即增删改查操作。更加大范围的讲也就是写和读两个操作。读数据一般比较简单,输入正常的sql语句即可。但写数据却不得不考虑事务。无论是读还是写,前提都是连连上数据库才可以操作,那么下面我们就从最基本的思路开始。

连接数据库

import MySQLdb

connection = mdb.connect("127.0.0.1",3306, "root", "root","dbname")

这样便意味着连上了数据库。

执行sql 查询语句

import MySQLdb as mdb

connection = mdb.connect("127.0.0.1",3306, "root", "root","test")
cursor = connection.cursor()
cursor.execute("select * from table")
result = cursor.fetchall()
cursor.close()   
connection.close()

此处注意cursor.close()这个方法的执行,如果在执行玩sql语句不执行这条语句进行关闭游标,也许你将会遇到下面的错误信息:

Commands out of sync; you can‘t run this command now

上面的查询查到的信息知识简单的输出结果,如果想要输出带有列的json格式数据还需要进一步处理,其实也谈不上处理,因为MySQLdb已经帮助我们想到了这点,仅仅需要在connection.cursor()中添加个参数mdb.cursors.DictCursor,如下:

import MySQLdb as mdb

connection = mdb.connect("127.0.0.1",3306, "root", "root","test")
cursor = connection.cursor(mdb.cursors.DictCursor)
cursor.execute("select * from table")
result = cursor.fetchall()
cursor.close()   
connection.close()

执行写入语句

执行写入语句,便是insert,update,delete操作语句。至于为什么要把写入单独列出来,就是因为事务这个东西。如果你用上面的案例去执行写入语句,你将会发现,虽然执行显示成功了,但是数据库则没有发生任何变化,不妨试试下面的例子:

import MySQLdb as mdb

connection = mdb.connect("127.0.0.1",3306, "root", "root","test")
cursor = connection.cursor(mdb.cursors.DictCursor)
cursor.execute("update table set field=‘xxx‘")
cursor.commit() 
cursor.close()   
connection.close()

到目前为止应该是没问题的,如果还是无法改变数据库的变化,那你只能去看看这篇文章

其他操作

  • 查看所有数据库
import MySQLdb as mdb

connection = mdb.connect("127.0.0.1",3306, "root", "root")
cursor = connection.cursor(mdb.cursors.DictCursor)
cursor.execute("show databases")
result = cursor.fetchall()
cursor.close()   
connection.close()
  • 查看库中的表格

    注:不要使用use dbname;这样的语句,直接在connect()方法中传数据库名便可以了

import MySQLdb as mdb

connection = mdb.connect("127.0.0.1",3306, "root", "root","test)
cursor = connection.cursor(mdb.cursors.DictCursor)
cursor.execute("show tables")
result = cursor.fetchall()
cursor.close()   
connection.close()
时间: 2024-10-01 06:02:49

MySQLdb简单查询的相关文章

sql server简单查询

一.插入多行数据: 1.insert into ... select   从一个表中取出数据插入另一个已存在的表 2.select into   从一个表中取出数据插入一个新表中 3.insert into ()   union   select 常量列表 二.简单查询  1. 查询所有行和列 SELECT  *  FROM 表名  2.查询部分列 SELECT  列列表   FROM 表名  3.查询部分行  SELECT  列列表   FROM 表名 WHERE 列 运算符 值  4.列加别

010.简单查询、分组统计查询、多表连接查询(sql实例)

-------------------------------------day3------------ --添加多行数据:------INSERT [INTO] 表名 [(列的列表)] --SELECT UNION --SELECT 'HAHA',1,32--UNION ALL --全部显示/显示重复数据 即使集合相同--UNION---------将查询的两个结果集合并.结构必须一致 -->常见面试题 --SELECT 'HEHE',2,33------将查询结果添加到列表中(子查询)IN

数据库基础学习4--表格的 增 删 改 查(简单查询与高级查询)

一.增 C:create 增加,创建,向数据库里面添加数据. insert into Fruit values('K009','苹果',3.0,'高青',90,'') insert into Fruit(Ids,Name,Price,Source,Numbers) values('K010','苹果',3.0,'高青',90) 二.改 U:update修改,从数据库表里面修改数据. update Fruit set Source='烟台' where Ids='K001' 三.删 D:delet

使用TT模板+mvc+wcf实现简单查询

伴随着春姑娘调皮的脚步,小编接手的档案管理项目也渐渐步入正轨,从开始的需求分析,到使用Axure画原型图,再到使用powerdesigner设计实体,生成数据库,一直到昨天刚刚通了一条线,这一路走来,小编懂得了很多,无路学习还是和团队小伙伴的交流合作,有时候,总是会因为大家意见不统一,搞的大家吹胡子瞪眼,但有时也会因为某件事情圆满成功而欢欣鼓舞,小组中最开心的事儿莫过于有人开会迟到买吃的了,哈哈,暴露了小编的本质,开头说了这么多,接下来,小编就跟分享一下,如果利用TT模板+mvc+wcf实现简单

T-SQL简单查询语句(模糊查询)

1 T-SQL简单查询语句 2 3 简单查询: 4 5 1.最简单查询(查所有数据) 6 select * from 表名: 注:* 代表所有列 7 select * from info 8 9 2.查询指定列 10 select code,name from info 11 12 3.修改结果集的列名 13 select code as '代号',name as '姓名' from info 14 15 4.条件查询 16 select * from info where code='p003

sql 简单查询,限定查询及排序

SQL(structured Query Language  结构化查询语言)是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理关系数据库系统. SQL语言包含4个部分: ※数据定义语言(DDL),例如:CREATE.DROP.ALTER等语句. ※数据操作语言(DML),例如:INSERT.UPDATE.DELETE语句. ※数据查询语言(DQL),例如:SELECT语句. ※数据控制语言(DCL),例如:GRANT.REVOKE.COMMIT.ROLLBACK等语句. 简单查询

SqlServer简单查询

简单查询 select 简单的数据检索 :SELECT * FROM T_Employee 只检索需要的列 :SELECT FName,FAge FROM T_Employee 列取别名:SELECT FNumber AS 编号,FName AS 姓名,FAge AS Age111 FROM T_Employee 使用where检索符合条件的数据:SELECT FName FROM T_Employee WHERE FSalary<5000. 使用LIKE模糊查询 SELECT FName FR

python开发mysql:表关系&amp;单表简单查询

一 一对多,多对一 1 1.1 建立多对一 ,一对多的关系需要注意 2 先建立被关联的表,被关联的字段必须保证时唯一的 3 在创建关联的表,关联的字段一定是可以重复的 4 5 1.2 示例: 6 出版社 多对一,多个老师可能在一家出版社 7 一夫多妻 一对多 8 create table dep(. 被关联的字段必须保证唯一 9 id int primary key auto_increment, 10 name varchar(20), 11 comment varchar(50) 12 );

mysql语句基本简单查询

mysql语句基本简单查询 第一节 -- or # 单行注释/***多行注释*/ -- c创建数据库examCREATE DATABASE exam; USE exam; /*创建部门表*/CREATE TABLE dept( deptno INT PRIMARY KEY, dname VARCHAR(50), loc VARCHAR(50)); /*创建雇员表*/CREATE TABLE emp( empno INT PRIMARY KEY, ename VARCHAR(50), job VA