mysql 创建数据库列表,删除列表,存储数据

本文介绍了如何通过远程连接进行MySQL数据库的操作,包括创建数据库列表、存储数据的批量写入方法,以及如何在终端删除列表。同时提到了时间格式设置、中文编码处理和如何创建同类型表。提供了相关链接以了解更多关于修改列名、约束等信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  •  远程连接,创建列表,存储数据
import MySQLdb
#打开数据库连接。localhost为主机地址,root是mysql登陆名,123是登陆密码,pythondb是数据库名
conn = MySQLdb.connect("192.168.2.11","dong","123456","pythondb",charset='utf8')
#使用cursor()方法获取操作游标,利用游标来进行相关的数据操作
cursor = conn.cursor()

###########创建列表##########
#创建行为列表      ####设置id自动增加auto_increment,还得指出主键
create_sql = "create table behavior(id int(5) NOT NULL auto_increment,behavior_name varchar(20) NOT NULL,PRIMARY KEY (`id`))"
cursor.execute(create_sql)
#写入行为表
sql1 = """INSERT INTO behavior(behavior_name) VALUES  ("回答"),("举手"),("写字"),("睡觉"),("听讲"),("打电话")"""
try:
   # 执行sql语句
   cursor.execute(sql1)
   # 提交到数据库执行
   conn.commit()
except:
   # Rollback in case there is any error
   print("Error: unable to insert data")
   conn.rollback()
###

#创建用户列表
create_sql1 = "create table user(id int(5) NOT NULL auto_increment,student_name varchar(20) NOT NULL,user_number varchar(20) NOT NULL,sex varchar(20) NOT NULL, PRIMARY KEY (`id`))"
cursor.execute(create_sql1)
#写入用户表
sql2 = """INSERT INTO user(student_name,user_number,sex) VALUES ("小明","2010","男"),('小白','2011','女'),('小花','2012','女'),('小李','2013','男'),('小华','2014','男'),('大白','2015','女')"""
try:
   # 执行sql语句
   cursor.execute(sql2)
   # 提交到数据库执行
   conn.commit()
except:
   # Rollback in case there is any error
   print("Error: unable to insert data")
   conn.rollback()


#关闭数据连接
conn.close()

在数据库端查询:

批量写入,使用cursor.executemany()

import MySQLdb
#import time
#打开数据库连接。localhost为主机地址,root是mysql登陆名,123是登陆密码,pythondb是数据库名
conn = MySQLdb.connect("192.168.2.11","dong","123456","pythondb",charset='utf8')

#使用cursor()方法获取操作游标,利用游标来进行相关的数据操作
cursor = conn.cursor()

# 使用execute方法执行SQL语句
cursor.execute("SELECT VERSION()")
# 使用 fetchone() 方法获取一条数据
data = cursor.fetchone()
print("Database version : %s " % data)

##批量写入列表
sql="INSERT INTO user(student_name,user_number,sex) VALUES (%s,%s,%s)"
tmp=(("小明","2010","男"),('小白','2011','女'),('小花','2012','女'),('小李','2013','男'),('小华','2014','男'),('大白','2015','女'))
try:
   cursor.executemany(sql,tmp)
   conn.commit()
except:
   print("error:unable to insert data")
   conn.rollback
#关闭数据连接
conn.close()

 

删除列表(在终端):

DROP TABLE  列表名(或drop table 列表名)

其余修改(列,列表名字,约束)可参见:http://www.imooc.com/article/259848

中文存储,编码格式,可参考:https://blog.youkuaiyun.com/lisonglisonglisong/article/details/25315965 

  • 创建列表,在终端

时间格式,类型timestamp,设置为非空,自动更新

CREATE TABLE behavior_recognition(
id int(5) NOT NULL auto_increment,
image_path varchar(20) NOT NULL,
behavior_id int(5) NOT NULL,
record_time timestamp NOT NULL,
PRIMARY KEY  (`id`)
);

 

远程连接写入数据:

import MySQLdb
#打开数据库连接。localhost为主机地址,root是mysql登陆名,123是登陆密码,pythondb是数据库名
conn = MySQLdb.connect("192.168.2.11","dong","123456","pythondb",charset='utf8')
#使用cursor()方法获取操作游标,利用游标来进行相关的数据操作
cursor = conn.cursor()
'''
##也可以远程连接创建行为识别列表
creat_table1="CREATE TABLE behavior_recognition(id int(5) NOT NULL auto_increment,image_path varchar(20) NOT NULL,behavior_id int(5) NOT NULL,record_time timestamp NOT NULL,PRIMARY KEY  (`id`))"
cursor.execute(creat_table1)
'''
##写入行为识别列表中
image_path = ['1123abc','2.jpg','3.jpg','4.jpg','5.jpg','6.jpg','7.jpg','8.jpg','9.jpg','数学']
behavior_id = [4,3,2,1,5,6,1,2,3,4]
for a in range(10):
   image_=str(image_path[a])#转化为字符串
   act_id=str(behavior_id[a])
   sql3 = """INSERT INTO behavior_recognition(image_path,behavior_id) VALUES ('%s','%s')"""%(image_,act_id)#写入字符串
   try:
      # 执行sql语句
      cursor.execute(sql3)
      # 提交到数据库执行
      conn.commit()
   except:
      # Rollback in case there is any error
      print("Error: unable to insert data")
      conn.rollback()
#关闭数据连接
conn.close()

在终端查询:

 

  • 使用cursor()方法获取操作游标,利用游标来进行相关的数据操作(利用cursor()可以进行在数据库终端的操作)
import MySQLdb
#import time
#打开数据库连接。localhost为主机地址,root是mysql登陆名,123是登陆密码,pythondb是数据库名
conn = MySQLdb.connect("192.168.2.11","dong","123456","pythondb",charset='utf8')

#使用cursor()方法获取操作游标,利用游标来进行相关的数据操作
cursor = conn.cursor()

# 使用execute方法执行SQL语句
cursor.execute("SELECT VERSION()")
# 使用 fetchone() 方法获取一条数据
data = cursor.fetchone()
print("Database version : %s " % data)

#获取所有数据库种类
cursor.execute("show databases")
# 使用 fetchone() 方法获取所有数据
databases=cursor.fetchall()
print(databases)

#获取pythondb数据库中所有表
#连接时已指明是pythondb数据库了所以不用执行cursor.execute('use pythondb')
cursor.execute('show tables')
print(cursor.fetchall())

#删除列表
cursor.execute('drop table behavior_recognition')

'''
# SQL 删除语句,可以把列表内容清空,但是列表还在
sql = "DELETE FROM behavior_recognition " 
try:
   # 执行SQL语句
   cursor.execute(sql)
   # 提交修改
   conn.commit()
   print("delete OK")                  
except:
   # 发生错误时回滚
   conn.rollback()
'''
#关闭数据连接
conn.close()
  • 创建同类型的表,like
create table 新的列表名 like 已有的列表名;

例如:

import MySQLdb
#import time
#打开数据库连接。localhost为主机地址,root是mysql登陆名,123是登陆密码,pythondb是数据库名
conn = MySQLdb.connect("192.168.2.11","dong","123456","pythondb",charset='utf8')

#使用cursor()方法获取操作游标,利用游标来进行相关的数据操作
cursor = conn.cursor()

# 使用execute方法执行SQL语句
cursor.execute("SELECT VERSION()")
# 使用 fetchone() 方法获取一条数据
data = cursor.fetchone()
print("Database version : %s " % data)

num=10
for i in range(num):
   behavior_recognition_num='behavior_recognition_%s'%i
   creat_table2 = "CREATE TABLE %s"%behavior_recognition_num + " LIKE behavior_recognition"
   print(creat_table2)
   try:
      cursor.execute(creat_table2)
      # 提交修改
      conn.commit()
      print("增加同类型列表成功")
   except:
      # 发生错误时回滚
      conn.rollback()
      print("增加列表不成功")  
#关闭数据连接
conn.close()

结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值