python上的数据库sqlite3——插入多行数据
学校课程上的一个知识点,一个简单的课后习题:一劳永逸实现多行数据的插入(应该是这个意思,老师也没讲清楚)。直接上代码了没啥好讲的,我感觉这个思路好捞。
import sqlite3
con = sqlite3.connect('E:/python36/pytrade/sqlite3/first.db')
cur = con.cursor() #创建游标对象
cur.execute("create table Student(SNO char(10) UNIQUE primary key,Sname char(20),Ssex char(2),Sage SMALLINT,Sdept char(20));")#上一行引号内为SQL语句,语句末分号可有可无 '''
#数据插入方法一,VALUES法
data = "170141000,'张三','男',20,'GIS'"
cur.execute('INSERT INTO Student VALUES (%s)'%data)
'''
'''数据插入方法二,问号法
cur.execute('INSERT INTO Student VALUES(?,?,?,?,?)',(170141000,'亮','男',21,'滋麻开花'))#execute执行
con.commit()#commit提交
'''
'''数据插入方法三(values法,和一类似,指定字段)
cur.execute("INSERT INTO Student (SNO,Sname,Sage,Sdept) values(170151000,'豪',20,'GIS'),(170151999,'喜羊羊',9,'GIS');")
con.commit()
''' #在这里,“需要插入的数据”默认以独立的str形式(在列表中)存储。利用列表下标的索引方式一一加入到execute中去。
data_ToBeInserted = ["170140009,'凡','男',20,'人文'","170140000,'翔','男',20,'GIS'","170140001,'豪','男',20,'GIS'","170140002,'飞','男',20,'人文'","170100001,'亮','男',27,'海棠二楼'"]
sql_insert = "INSERT INTO Student VALUES" #SQL语句一
sql_values = "" #SQL语句二
for i in range(0,len(data_ToBeInserted)): #列表下标索引,一一提取一行数据
sql_values += '(' #增加execute语句所需的左括号
sql_values += data_ToBeInserted[i] #插入数据
sql_values += '),' #右括号
sql_values = sql_values.strip(',') #去除最后一行数据的逗号,也可replace为分号
sql_todo = sql_insert + sql_values #两个SQL分语句合并 #插入动作的执行。若要改变“需要插入的数据”,直接改存储数据的列表即可。
cur.execute(sql_todo)
con.commit() cur.execute('SELECT * FROM Student')
res = cur.fetchall()
for row in res:
#print(row[1],type(row[1]))
print(row)#查看当前表情况
加个成果图↓

python上的数据库sqlite3——插入多行数据的更多相关文章
- SQL语句往Oracle数据库中插入日期型数据(to_date的用法)
Oracle 在操作数据库上相比于其他的 T-sql 有微小的差别,但是在插入时间类型的数据是必须要注意他的 to_date 方法,具体的情况如下: --SQL语句往Oracle数据库中插入日期型数据 ...
- 通过python代码连接MySQL以及插入和显示数据
通过python代码连接MySQL以及插入和显示数据: 数据库huahui创建一个shibie的表,里面有两个varcahr(100)的字段,num和result. import pymysql im ...
- 使用JDBC向数据库中插入一条数据
原谅我是初学者,这个方法写的很烂,以后不会改进,谢谢 /** * 通过JDBC向数据库中插入一条数据 1.Statement 用于执行SQL语句的对象 1.1 通过Connection 的 * cre ...
- Oracle数据库中插入日期型数据(to_date的用法)(转载)
往Oracle数据库中插入日期型数据(to_date的用法) INSERT INTO FLOOR VALUES ( to_date ( '2007-12-20 18:31:34' , 'YYY ...
- 【Linux】同时插入多行数据到文本文件中
如果想同时插入多行数据到指定的文本中,可以用下面的命令EOF cat >> test.txt <<EOF 1234 5678 GOOD EOF 将上述3行插入到 test.tx ...
- mysql插入多行数据
表结构如图:
- Java程序向MySql数据库中插入的中文数据变成了问号
找到mysql的安装目录,修改my.ini文件 (1)如何找到my.ini文件 如果my.ini文件不在MySQL的安装目录下,可能放在隐藏目录,要先去找到ProgramData,(这里要先打开显示隐 ...
- 数据库一次性插入10w条数据,怎么插入效率快
在SQL Server 中插入一条数据使用Insert语句,但是如果想要批量插入一堆数据的话,循环使用Insert不仅效率低,而且会导致SQL一系统性能问题 下面介绍SQL Server支持的两种批量 ...
- SQL 插入多行数据语句整理
参考别人的,希望对大家有用. 1.只是插入简单的有限行数据时用: insert 要插入的表名(列名1,列名2,....) select '列名1需要的数据','列名2需要的数据',... union ...
随机推荐
- mysql 安装和修改编码(utf8mb4)
安装mysql(linux 我的环境centos 7) 安装MySQL官方的Yum Repository wget -i -c http://dev.mysql.com/get/mysql57-com ...
- GYM 101889J(枚举、环上gcd)
答案只有n - 1种暴举即可,对于每种,gcd是一那踩雷稳了,否则看雷的分布有没有把模余占满. const int maxn = 1e5 + 5; int n, ans; char str[maxn] ...
- vue 中的router 配置问题 导致的内存溢出~~~
最近的项目用到 vue, 各种踩坑中. 其中一个就是router映射表写的稍有不慎,就会出现内存溢出的问题, 而且也不会具体告诉你哪里出错,所以很是头疼~~~ 出错多了,发现了一些router的一些规 ...
- vue echarts 大小自适应
窗口大小时候 ,echarts图自适应 在创建图表的方法中直接,用resize方法 let myChart=this.$refs.myChart; let mainChart = echarts.in ...
- python_14(js)
第1章 图片方法 1.1 设置背景图:1.2 背景图问题:1.3 background-repeat; noa-repe 1.4 background-attachment: fixed1.5 bac ...
- Java基础教程(25)--I/O
一.I/O流 I/O流表示输入源或输出目标.流可以表示许多不同类型的源和目标,例如磁盘文件.设备.其他程序等. 流支持许多不同类型的数据,包括字节.原始数据类型.字符和对象等.有些流只传递数据 ...
- AJPFX关于子类父类中的构造
1.子父类中的构造函数不存在重写,因为子父类的构造函数名字不一样(重写要求子父类的方法名字一模一样,包括参数列表)2.子类创建对象时会先运行父类的构造函数再运行子类的构造函数.因为每个子类的构造函数的 ...
- kafka基础二
kafka生产者工作流程 消息产生分析 1.写入方式: producer采用推(push)模式将消息发布到broker,每条消息都会被追加(append)到分区Partition上,属于顺序写磁盘(顺 ...
- idea 设置加载多个资源文件,显示本地图片
idea 经常只会设置一个资源路径,这个路径就是项目的路径.但是当要加载的文件处于其他位置时,则需要增加虚拟路径的配置. 如图:第一个是项目路径 第二个是图片路径
- docker 配置国内镜像源 linux/mac/windows
部分内容来自:http://guide.daocloud.io/dcs/daocloud-9153151.html 加速器官方DaoCloud承诺:加速器服务永久免费且无流量限制 使用前提:注册Dao ...