码迷,mamicode.com
首页 > 数据库 > 详细

操作mysql(图形界面) 建库建表

时间:2020-11-04 18:51:41      阅读:37      评论:0      收藏:0      [点我收藏+]

标签:驱动模块   hal   密码   通用   mys   roo   查询   cut   图形界面   

连接Mysql建库建表
连接服务器中mysql!
信息: IP: 39.98.39.173 用户名: root 密码: root
 
1. 图形界面工具: navicate
技术图片

 

 技术图片

 

 

2. 建库
技术图片

 

 

3. 建表
分析
# 学生表students
# 学生对象包含属性(id,姓名,性别,年龄,生日,手机号,地址...) #根据业务需求随意扩展!
# 对应列!
技术图片

 

 技术图片

 

 

Python操作数据库
 
技术图片

 

 

python操作数据库流程
下载mysql驱动模块(pymysql)
引入模块
建连接(建立和数据库连接)
执行sql语句
非查询:增加,删,修改
查询:select
处理结果
释放资源
关连接
关游标
 
 
驱动介绍
python操作mysql驱动/第三方模块: MySQLdb PyMysql
pymysql: 支持2.x 支持3.x
mysqldb: 只支持3.x
#安装模块 
pip install pymysql

 

增删改
SQL 
# 增加 
insert into 表名(列1,列2,....) values(值1,值2,...)
# 删除 
delete from 表名 ; # 删除表中所有数据! 
delete from 表名 where 条件;

# 修改 
update 表名 set 列1=值1,列2=值2,....; #不加条件,修改所有列!~
 update 表名 set 列1=值1,列2=值2,....where 条件;

select * from students where sex =; 
insert into students(name,sex,age,birthday,phone,addr) 
values(刘帅,,20,now(),17600950805,山西) ; 
update students set sex= where name =刘帅 
delete from students where name =刘晒

技术图片

 

 

python实现非查询
非查询:步骤一样的!
区别: sql语句不同, 参数个数不同! 
def my_execute(sql,params): 
    ‘‘‘非查询通用功能! sql语句, 参数列表‘‘‘ 
 # 2.连接
    conn =
pymysql.connect(host=39.98.39.173,port=13306,user=root,passwd=root,db=1909C2,c harset=utf8)
print(conn) 
# 3. 获取游标 
cur = conn.cursor() 
# 4. 执行sql 
num = cur.execute(sql,params) 
#print(f‘影响行数:{num}‘) 
conn.commit() # 必须手动提交到数据库! 
# 5. 释放资源 
cur.close() 
conn.close() 
# 返回影响行数! 
return num

if __name__ == ‘__main__‘:
  
  # 通用
  sql =‘insert into students(name,sex,age,birthday,phone,addr) 
values(%s,%s,%s,%s,%s,%s)‘ 
  params=(‘王五‘,‘女‘,39,‘2020-11-03‘,‘17600950805‘,‘山西‘)
  if my_execute(sql,params)>0:
    print(‘数据库操作成功!‘)
  else:
    print(‘数据库操作失败!‘)
参数如何传递
sql =insert into students(name,sex,age,birthday,phone,addr)

values(%s,%s,%s,%s,%s,%s)‘
# 格式:一行数据就是一个元组!
params=(‘王五‘,‘女‘,39,‘2020-11-03‘,‘17600950805‘,‘山西‘)
num = cur.execute(sql,params) 
 
批量执行非查询
sql =‘insert into students(name,sex,age,birthday,phone,addr)
values(%s,%s,%s,%s,%s,%s)‘
# 格式:一行数据就是一个元组!
params=[(‘王五1‘,‘女‘,39,‘2020-11-03‘,‘17600950805‘,‘山西‘),(‘王五2‘,‘女‘,39,‘2020-11-
03‘,‘17600950805‘,‘山西‘)]
num = cur.executemany(sql,params) # 结果大于1的

  

核心对象
连接对象: conn= pymysql.connect(host=‘IP地址‘,port=13306,user=‘用户名‘,passwd=‘密
码‘,db=‘数据库名‘,charset=‘utf)
conn.close() #关闭
cur= conn.cursor() 创建游标
游标 Cursor 操作数据库依靠游标!
num = cur.execute(sql,参数) 执行非查询,返回影响的行数!
num=cur.executemangy(sql,[(),(),..]) 批量执行非查询,返回影响行数!
cur.close()
cur.fetchone() 抓取1条,,返回元组或None
cur.fetchall() 抓取所有
cur.fetchmany(大小) 指定抓取大小
cur.next() 游标下移!
 
 
查询
import pymysql
def get_one():
  # 1. 连接
  conn = pymysql.connect(host=‘39.98.39.173‘, port=13306, user=‘root‘,
passwd=‘root‘, db=‘1909C2‘, charset=‘utf8‘)
  # 2. 打开游标
  cur = conn.cursor()
  # 3. 执行
  sql =‘select * from students where sex = %s‘
  cur.execute(sql,(‘女‘))
  #result = cur.fetchone() # 返回一个元组() 默认找第1个!
  result = cur.fetchall() # 返回多个元祖 ((),(),(),...)
  print(result)
  for stu in result:
    print(f‘id:{stu[0]},名字:{stu[1]}‘)
  # 4.关闭资源
  cur.close()
  conn.close()
if __name__ == ‘__main__‘:
  get_one()
 

操作mysql(图形界面) 建库建表

标签:驱动模块   hal   密码   通用   mys   roo   查询   cut   图形界面   

原文地址:https://www.cnblogs.com/yhj1096/p/13924566.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!