Mysql
1.3.pymysql.connect()连接数据库函数
#打开数据库连接
import pymysql
conn=pymysql.connect("localhost",user="root",passwd="123456",db="pythonBD")
print(conn)
print(type(conn))
执行结果:
>>> print(conn)
<pymysql.connections.Connection object at 0x02E60C70>
>>> print(type(conn))
<class 'pymysql.connections.Connection'>
>>>
1.4.conn.cursor():获取游标
import pymysql
conn=pymysql.connect("localhost",user="root",passwd="123456",db="pythonBD")
#获取游标
cursor=conn.cursor()
print(cursor)
执行结果:
>>> #获取游标
... cursor=conn.cursor()
>>> print(cursor)
<pymysql.cursors.Cursor object at 0x02E60B30>
>>>
1.5.执行sql语句execute和executemany
execute(query,args=None)
函数作用:执行单条sql语句,执行成功后返回受影响的行数
参数说明:
query:要执行的sql语句,字符串类型
args:可选的序列或映射,用于query的的参数值,如果args为序列,query中必须使用%s做占位符;如果args为映射,query中必须使用%(key)s做占位符
executemany(query,args=None)
函数作用:批量执行sql语句,比如批量插入数据,执行成功后返回影响的行数
参数说明:
query:要执行的sql语句,字符串类型
args:嵌套的序列或映射,用于query的参数值
1.6.创建数据库
import pymysql
#创打开数据库连接,不需要指定数据库,因为需要创建数据库
conn=pymysql.connect("localhost",user="root",passwd="123456")
#获取游标
cursor=conn.cursor()
#创建pythonBD数据库
cursor.execute("CREATE DATABASE IF NOT EXISTS testdb DEFAULT CHARSET utf8 COLLATE utf8_general_ci;")
cursor.close()#先关闭游标
conn.close()#再关闭数据库连接
print("创建pythonBD数据库成功!")
1.7.创建数据表
import pymysql
conn=pymysql.connect("localhost",user="root",passwd="123456",db="testdb")
cursor=conn.cursor()
print(cursor)
>>> print(cursor)
<pymysql.cursors.Cursor object at 0x02DA36B0>
>>>
#创建user表
cursor.execute("drop table if exists user")
sql="""CREATE TABLE IF NOT EXISTS 'user'(
"id" int(11) NOT NULL AUTO_INCREMENT,
"name" varchar(255) NOT NULL,
"age" int(11) NOT NULL,
PRIMARY KEY("id")
)ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=0"""
cursor.execute(sql)
cursor.close()
conn.close()
print("创建数据表成功")
1.8插入单条数据
import pymysql
conn = pymysql.connect('localhost',"root","123456")
conn.select_db("pythondb")
cur=conn.cursor()#获取游标
#创建user表
cur.execute("drop table if exists uer")
sql="""CREATE TABLE IF NOT EXISTS `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`age` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=0"""
cur.execute(sql)
insert=cur.execute("insert into user values(1,'tim',18)")
insert=cur.execute("insert into user values(1,'tom',18)")

浙公网安备 33010602011771号