Python数据库操作,针对pymysql 和 MYSQL数据库

2018-09-05  本文已影响0人  FlyingLittlePG

此文将以MYSQL数据库做为例子,pymysql库作为驱动进行学习

安装MYSQL数据库与pymysql第三方库

pymysql 连接mysql数据库的驱动库

SQL语句

SQL的语句分为两大类,一类是DML,另一类是DDL

数据定义语言 (DDL) 用于创建或删除表格

# 新建一个名为person的表,定义有id,name,age,address 其中id设置为主键,并采取自增形式

import pymysql

con = pymysql.connect('localhost','root','123456')

con.select_db('test')

sql = '''CREATE TABLE person
(
id INT(255) NOT NULL PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(255),
age INT(100),
address VARCHAR(255)
)
'''
with con.cursor()as cursor:
    cursor.execute(sql)

con.close()

数据操作语言 (DML) 包含用于更新、插入和删除记录的语法

向数据库的person表中写入一行数据
import pymysql

con = pymysql.connect('localhost','root','123456')

con.select_db('test')

sql = ''' INSERT INTO person VALUES(NULL,'jack',18,'Beijing')
'''
with con.cursor()as cursor:
    cursor.execute(sql)

con.commit()
con.close()
写入多行数据
import pymysql

con = pymysql.connect('localhost','root','123456')

con.select_db('test')

list = [(None,'jack',18,'beijing'),(None,'bob',20,'shanghai'),(None,'alice',10,'beijing'),(None,'luna',18,'shengzheng')]

with con.cursor()as cursor:
    cursor.executemany('INSERT INTO person VALUES(%s,%s,%s,%s)',list)

con.commit()

con.close()
查找所有数据
import pymysql

con = pymysql.connect('localhost','root','123456')

con.select_db('test')

sql = 'SELECT * FROM person'

with con.cursor()as cursor:
    cursor.execute(sql)
    data = cursor.fetchall()
    for i in data:
        print(i)

con.close()
查找所有地址为beijing的数据
import pymysql

con = pymysql.connect('localhost','root','123456')

con.select_db('test')

sql = "SELECT * FROM person where address = 'beijing'"

with con.cursor()as cursor:
    cursor.execute(sql)
    data = cursor.fetchall()
    for i in data:
        print(i)

con.close()
查找所有age大于10的数据
import pymysql

con = pymysql.connect('localhost','root','123456')

con.select_db('test')

sql = "SELECT * FROM person where age > 10"

with con.cursor()as cursor:
    cursor.execute(sql)
    data = cursor.fetchall()
    for i in data:
        print(i)

con.close()
查找age大于10并且address等于bejing的数据
import pymysql

con = pymysql.connect('localhost','root','123456')

con.select_db('test')

sql = "SELECT * FROM person where age > 10 AND address = 'beijing'"

with con.cursor()as cursor:
    cursor.execute(sql)
    data = cursor.fetchall()
    for i in data:
        print(i)

con.close()
将所有数据按年龄大小进行逆序排序
import pymysql

con = pymysql.connect('localhost','root','123456')

con.select_db('test')

sql = "SELECT * FROM person ORDER BY age DESC"

with con.cursor()as cursor:
    cursor.execute(sql)
    data = cursor.fetchall()
    for i in data:
        print(i)

con.close()
修改表中jack的age为16
import pymysql

con = pymysql.connect('localhost','root','123456')

con.select_db('test')

sql = "UPDATE person set age = 16 WHERE name = 'jack'"

with con.cursor()as cursor:
    cursor.execute(sql)

con.commit()

con.close()
删除数据库中jack的数据
import pymysql

con = pymysql.connect('localhost','root','123456')

con.select_db('test')

sql = "DELETE FROM person WHERE name = 'jack'"

with con.cursor()as cursor:
    cursor.execute(sql)

con.commit()

con.close()
删除表中所有数据
import pymysql

con = pymysql.connect('localhost','root','123456')

con.select_db('test')

sql = "DELETE FROM person"

with con.cursor()as cursor:
    cursor.execute(sql)

con.commit()

con.close()
向表中添加sex列,类型为varchar
import pymysql

con = pymysql.connect('localhost','root','123456')

con.select_db('test')

sql = '''ALTER TABLE person
ADD sex VARCHAR(255)
'''

with con.cursor()as cursor:
    cursor.execute(sql)

con.commit()

con.close()
删除表
import pymysql

con = pymysql.connect('localhost','root','123456')

con.select_db('test')

sql = '''DROP TABLE person
'''

with con.cursor()as cursor:
    cursor.execute(sql)

con.commit()

con.close()
删除数据库
import pymysql

con = pymysql.connect('localhost','root','123456')

sql = '''DROP DATABASE test
'''

with con.cursor()as cursor:
    cursor.execute(sql)

con.commit()

con.close()
上一篇下一篇

猜你喜欢

热点阅读