Py3简单操作MySQL-1

2018-05-27  本文已影响0人  xtuBong

什么是数据库?

为什么用数据库?

要永久存储数据,可以用文件、关系型数据库和其他一些数据库变种。在大型项目时,关系型数据库提供的接口让操作更方便。

数据库在哪里?需要安装

数据库安装:见 MySQL 安装,我使用的是windows的,注意打开命令行时以管理员身份运行。

操作MySQL的Python库:   

 1、mysql-connector-python

 2、PyMySQL

这里用PyMySQL。

SQL?

SQL:是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系型数据库系统。(数据库是用SQL命令操作的,Python通过调用执行SQL命令操作数据库)

常用命令:

#创建数据库

CREATE DATABASE  test;    #创建叫test的数据库

GRANT ALL ON  test.* to users;    #将数据库操作权限赋给users

#选择要使用的数据库

USE test;    #使用test数据库

#删除数据库

DROP DATABASE test;    #删除test数据库

#创建表

CREATE TABLE users (name VARCHAR(8), age INT, height INT);    #创建users表,有字符串的 name 列、整型 age、 height 列

#删除表

DROP TABLE users;

#插入行

INSERT INTO users VALUES("zhangsan", 40, 60);    #向表users插入一行数据

#更新行

UPDATE users SET age=41 WHERE age=40;    #对users表age=40的行,更新age=41

UPDATE users SET age=42  WHERE   name="zhangsan" ;      #对users表 name="zhangsan" 的行,更新 age=42

#删除行

DELETE FROM users WHERE age=40;    #删除age=40的一行数据

DELETE FROM users;    #删除users表全部数据



怎么使用?

1、用SQL命令操作MySQL

#从命令行进入MySQL的bin文件夹

>net start MySQL

>mysql -u root -p    #此处-u后的root可用你的用户名代替,-p后可接密码。都没有就直接按回车

mysql>use test    #使用test数据库

mysql> CREATE DATABASE  other;     #创建 other 数据库

mysql>quit

2、Python中操作

#创建表

#插入数据

#查询数据

# 更新数据

# 删除数据

import pymysql

#打开数据库连接

db = pymysql.connect(host="localhost",port=3306,user="root",passwd='',db="test",charset="utf8")  

# 使用 cursor() 方法创建一个游标对象

cursor = db.cursor()

# 使用 execute() 方法执行 SQL命令

cursor.execute("DROP TABLE IF EXISTS users")    #存在users表就先删掉

#创建表

sql = """CREATE TABLE users( name  CHAR(20) NOT NULL, age INT, height INT ,income FLOAT )"""

cursor.execute(sql)    #执行创建表命令

#插入一行数据

sql = """INSERT INTO users(name, age,height, income) VALUES ('zhangsan',  40, 60, 5000)"""

try:

    cursor.execute(sql)     # 执行sql语句

    db.commit()     # 提交到数据库执行

except:

    db.rollback()     # 如果发生错误则回滚

#查询数据

sql = "SELECT * FROM users  WHERE income > '%d' " % (1000)    #选择income大于1000的行

try:

    cursor.execute(sql)      # 执行SQL语句

    #results = cursor.fetchone()     # 获取SELECT的单条记录列表

    results = cursor.fetchall()     # 获取SELECT的所有记录列表

    for row in results:

        name = row[0]

        age = row[1]

        height = row[2]

        income = row[3]

        print ("name=%s,age=%d,height=%d,income=%d" %(name, age,height, income ))

except:

    print ("Error: unable to fetch data")

# 更新数据

sql = "UPDATE users SET age = age + 1 WHERE name = '%c'" % ('zhangsan')

try:

    cursor.execute(sql)     # 执行SQL语句

    db.commit()     # 提交到数据库执行

except:

    db.rollback()     # 发生错误时回滚

# 删除数据

sql = "DELETE FROM users WHERE age > '%d' " % (20)

try:    

    cursor.execute(sql)     # 执行SQL语句    

    db.commit()     # 提交到数据库执行

except:    

    db.rollback()     # 发生错误时回滚

# 关闭连接

db.close()

演示:

1-1 1-1

以上摘自 

1、《Python核心编程》

2、    python3-mysql

上一篇 下一篇

猜你喜欢

热点阅读