Python-数据库

 sqlite数据库

sqlite数据库
import sqlite3 #导入模块
con= sqlite3.connect('mrsoft.db')#创建连接对象 connect函数需要一个参数 就是数据库名称
cur = con.cursor() #创建游标对象


###################################################3
#执行sql语句 游标.execute(命令)
cur.execute('CREATE TABLE user(id int(10) primary key ,name varchar(10) not null)')
#解释 CREATE TABLE 表名(列名1 字段类型 字段说明,列名2 x x)不同列名之间用,分隔 同一列名之间用空格稍稍分开

#增加 'INSERT INTO 表名(列名1,列名2) VALUES(值1,值2)'
cur.execute('INSERT INTO user(id,name) VALUES('1','TIANT')')
cur.execute('INSERT INTO user(id,name) VALUES('2','TICA')')
#or增加
sql = 'INSERT INTO user(id,name) VALUES('3','sdc')'
cur.execute(sql) #执行sql语句 上面是直接执行 下面是设了个参数,再把参数赋给execute

sql = 'INSERT INTO user(id,name) VALUES(?,?)'#使用占位符
cur.execute(sql,(3,'sde'))#使用元祖来传递给上面的values

sql='INSERT INTO user(id,name) VALUES(?,?)'
data = [('3','andy'),('4','sd')]
cur.executemany(sql,data)

#查询
cur.execute('SELECT * FROM user WHERE id = 1 ') #ID=1 不是双等号啊兄弟
#SELECT 列名1,列名2,列名3  FROM 表名 WHERE 查询条件
sq1= 'SELECT * FROM user'
execute(sql)
#获取游标的查询结果
print(cur.fetchone) #游标.fetchone()结果集的下一条记录
print(cur.fetchmany(n))#游标.fetchmany(n) #n条记录
print(cur.fetchall())#游标.fetchall()所有记录 结果返回字典

#更新
cur.execute('UPDATE user SET 列名=值1 WHERE 条件表达式')
cur.execute('UPDATE user SET c1=36 WHERE cname="操作系统" ')

#删除语句 删除时要加删除条件
cur.execute('DELETE FROM 表名 WHERE 条件') #不加的话那就是全删了
#########################################################################
'''总之就是
创建 游标.execute('CREATE TABLE 表名(列名 字段类型 说明, 列名2)')
插入 游标.execute('INERT INTO 表名(列名1,列名2) VALUES(对应的值 会一一对应的)')
删除 游标.execute('DELETE FROM 表名 WHERE 条件')
更新 游标.execute('UPDATE 表名 SET 列=值 WHERE 条件 ')
查询 游标.execute('SELECT */列名 FROM 表名 WHERE 条件 ')
输出查询的结果 游标.fetchone() /.fetchmany(n)/fetchall()
'''

cur.close() #关闭游标
con.commit() #提交事务 查询语句不需要此条语句
con.close() #关闭链接

mysql

import pymysql #调用pymysql模块
#调用connect函数生产connecion连接对象
co =pymysql.connect('localhost','root','root','test.db',charset='utf8')#函数参数:主机名,用户名,密码,连接的数据库名
#调用cursor()方法 创建cursor对象
cur = co.cursor()


#执行sql语句
cur.execute('CREATE TABLE 表名(列名 数据类型 字段属性)')#创建表
cur.execute('ALTER TABLE 表名 ADD 列名 数据类型 列属性')#向表中添加列
cur.execute('ALTER TABLE 表名 MODIFY 列名 新数据类型 新列属性')#修改列属性
cur.execute('ALTER TABLE 表名 DROP COLUMN 列名')#删除列
cur.execute('INSERT INTO 表名(列名) VALUES(值)')#插入数据
cur.execute('UPDATE 表名 SET 列名=值 WHERE 表达式' )#修改数据
cur.execute('DELETE FROM 表名 WHERE 表达式')#删除数据
#关闭
cur.close()
co.close()


#删除表
cur.execute('DROP DATABASES 数据库名')
#显示所有数据库
cur.execute('SHOW DATABASES')
原文地址:https://www.cnblogs.com/yundong333/p/11117450.html