#!/usr/bin/env python
# @Time : 2018/3/28 22:08
# @Author : KiritoLiu
# @Contact : [email protected]
# @Site :
# @File : Python数据库操作.py
# @Software: PyCharm
#导入pymysql
import pymysql
#获取数据库连接
db = pymysql.connect(host="localhost",user="root",password="123456",db="stu",charset="utf8")
#创建游标对象
cursor = db.cursor()
#查询数据库,定义SQL语句
sql = "select * from stu where class= '%s'" % ("Python02") #使用数据库语句进行数据库操作
try: #防止在数据库操作时错误导致后续无法程序运行做出出错处理
#执行数据库操作
cursor.execute(sql)
print("结果条数:",cursor.rowcount)
if cursor.rowcount == 0: #查询结果为0,即判断数据库查询条件出了问题
print("SQL查询错误")
#解析结果
'''
#使用fetchone()
while True:
data = cursor.fetchone()
if data == None: #最后无数据取出返回值为None
break;
print(data)
'''
#使用fetchall()
alist = cursor.fetchall()
for vo in alist:
print(vo)
#fetchone()与fetchall()的用法一样,但是在输出数据的时候不一样
#fetchone()是一条一条的取出数据库的内容,用while循环进行输出
#fetchall()是一次性全部取出数据库的内容,用for循环进行输出
except Exception as err:
print("SQL执行错误!错误:", err)
#关闭数据库
db.close()
数据库文件stu_stu.sql
-- MySQL dump 10.13 Distrib 5.7.12, for Win64 (x86_64)
--
-- Host: localhost Database: stu
-- ------------------------------------------------------
-- Server version 5.7.17-log
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
--
-- Table structure for table `stu`
--
DROP TABLE IF EXISTS `stu`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `stu` (
`id` int(3) NOT NULL AUTO_INCREMENT,
`stu_no` int(3) NOT NULL,
`name` varchar(20) NOT NULL,
`sex` int(11) NOT NULL,
`class` varchar(10) NOT NULL,
`tel` varchar(11) DEFAULT NULL,
`birthday` date DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `stu_no_UNIQUE` (`stu_no`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `stu`
--
LOCK TABLES `stu` WRITE;
/*!40000 ALTER TABLE `stu` DISABLE KEYS */;
INSERT INTO `stu` VALUES (1,1,'张三',1,'Python01','12345678910','1999-01-01'),(2,2,'李四',1,'Python01','18866668888','1996-12-06'),(3,3,'王五',1,'Python02','12345665410','1996-11-27'),(4,4,'赵六',2,'Python02','12332233210','1997-10-24'),(5,5,'qq01',2,'Python03','13322223322','1990-01-31'),(6,6,'qq02',1,'Python03','12288886666','1992-02-20'),(7,7,'qq03',2,'Python03','13579264801','2000-10-30'),(8,8,'uu01',1,'Python01','18898084886','1998-08-08'),(9,9,'uu02',2,'Python02','12022000022','1994-04-01'),(10,10,'aa',2,'Python02','18465489942','2005-05-05'),(11,11,'bb',1,'Python03','19264664234','1995-05-15');
/*!40000 ALTER TABLE `stu` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-- Dump completed on 2018-03-29 14:43:33
stu表的属性
stu表的数据