zoukankan      html  css  js  c++  java
  • Python数据库操作

    目录

    连接数据库

    改 


    我们使用Mysql数据库,因为它是开源的,免费的。

    python中使用mysql-connector模块来连接mysql的,默认是没有该模块的,需要我们自己安装:pip  install  mysql-connector

    连接数据库

    使用 connect 方法连接数据库,参数是我们主机ip、数据库的用户名和密码

    >>import mysql.connector
    >>conn=mysql.connector.connect( host='localhost', user='root', passwd='root')  
    >>print(conn)
    <mysql.connector.connection.MySQLConnection object at 0x000001D87739AF98>
    
    #还可以指定port 、db 、charset 等参数
    mydb=mysql.connector.connect( host='localhost', user='root', passwd='root',port=3306,db="test",charset="utf8")  #选定test数据库,因为默认就是3306端口,所以port参数可不写

    #创建名叫python的数据库
    import mysql.connector
    conn=mysql.connector.connect( host='localhost', user='root', passwd='root')
    mydb=conn.cursor()          #获取到操作数据库的句柄
    mydb.execute("CREATE DATABASE python")  #创建一个名字为 python 的数据库
    
    #在python数据库下创建名为test的数据表
    import mysql.connector
    conn=mysql.connector.connect( host='localhost', user='root', passwd='root',db="python") #选定python数据库
    mydb=conn.cursor()                 #获得操作数据库的句柄
    mydb.execute("CREATE TABLE test(id INT(4),name VARCHAR(255))")  #创建test数据表
    
    #在python数据库下的test数据表中增加一条数据
    import mysql.connector
    conn=mysql.connector.connect( host='localhost', user='root', passwd='root',db='python')
    mydb=conn.cursor()                 #获得操作数据库的句柄
    mydb.execute("INSERT INTO test value(1,'hello')")    #增加一条记录
    conn.commit()                      #数据表内容有更新,必须用到该语句
    
    #批量插入
    import mysql.connector
    conn=mysql.connector.connect( host='localhost', user='root', passwd='root',db="python") #选定python数据库
    mydb=conn.cursor()                 #获得操作数据库的句柄
    sql="INSERT INTO test (id,name) VALUES (%s,%s)" #sql语句
    val=[(1,'aaa'),(2,'bbb'),(3,'ccc'),(4,'ddd')]
    mydb.executemany(sql,val)         #执行多条语句
    conn.commit()                    #数据表内容有更新,必须使用到该语句
    print("更有%s行发生改变!"%mydb.rowcount)  #mydb.rowcount返回发生改变的行数

    #删除python数据库下的test数据表中的id=1的数据
    import mysql.connector
    conn=mysql.connector.connect( host='localhost', user='root', passwd='root',db='python')
    mydb=conn.cursor()                 #获得操作数据库的句柄
    mydb.execute('DELETE FROM test WHERE id=1')    #删除python数据库下的test数据表中id=1的数据
    
    #删除python数据库下的test数据表
    import mysql.connector
    conn=mysql.connector.connect( host='localhost', user='root', passwd='root',db='python')
    mydb=conn.cursor()                 #获得操作数据库的句柄
    mydb.execute('DROP TABLE test')    #删除python数据库下的test数据表
    
    
    #删除python数据库
    import mysql.connector
    conn=mysql.connector.connect( host='localhost', user='root', passwd='root')
    mydb=conn.cursor()                 #获得操作数据库的句柄
    mydb.execute('DROP DATABASE python')    #删除python数据库
    
    
    

    改 

    #修改python数据库下test数据表中id=1的数据,将其name修改
    import mysql.connector
    conn=mysql.connector.connect( host='localhost', user='root', passwd='root',db='python')
    mydb=conn.cursor()                 #获得操作数据库的句柄
    mydb.execute("UPDATE test set name='world' where id=1")    #增加一条记录
    conn.commit()                        #数据表内容有更新,必须用到该语句    
    
    
    #修改python数据库下test数据表的名字为test2
    import mysql.connector
    conn=mysql.connector.connect( host='localhost', user='root', passwd='root',db='python')
    mydb=conn.cursor()                 #获得操作数据库的句柄
    mydb.execute("ALTER table test rename to test2")    #将test数据表改名为test2
    

    #查询所有数据库
    import mysql.connector
    conn=mysql.connector.connect( host='localhost', user='root', passwd='root')
    mydb=conn.cursor()                 #获得操作数据库的句柄
    mydb.execute("show databases;")    #显示所有数据库
    for row in mydb:
        print(row)
    
    #查询python数据库下的所有数据表
    import mysql.connector
    conn=mysql.connector.connect( host='localhost', user='root', passwd='root',db='python')
    mydb=conn.cursor()                 #获得操作数据库的句柄
    mydb.execute("show tables;")       #显示 python 数据库下的所有的表,返回一个元组型数据
    for row in mydb:
        print(row)
    
    
    #查询python数据库下的test数据表中的数据
    import mysql.connector
    conn=mysql.connector.connect( host='localhost', user='root', passwd='root',db="python",charset="utf8")  #选择test数据库
    mydb=conn.cursor()                 #获得操作数据库的句柄
    mydb.execute("select*from test")  #执行查询语句,相当于查询 python.test 表中的数据
    result=mydb.fetchall()             #获取所有返回的结果,返回的是列表型数据
    
    #查询python数据库下的test数据表中的数据前3条数据
    #查询python数据库下的test数据表中的数据
    import mysql.connector
    conn=mysql.connector.connect( host='localhost', user='root', passwd='root',db="python",charset="utf8")  #选择test数据库
    mydb=conn.cursor()                 #获得操作数据库的句柄
    mydb.execute("select*from test")  #执行查询语句,相当于查询 python.test 表中的数据
    result=mydb.fetchmany(3)             #返回前3条结果

    相关文章:SQL语句

  • 相关阅读:
    5分钟机器学习
    快速排序
    数据预处理 总结
    正则化 / 特征选择
    424. 替换后的最长重复字符 sliding window中的注意点
    自然语言处理算法精讲P3
    76. 最小覆盖子串
    3.无重复字符的最长子串 —— sliding window
    自然语言处理算法精讲 P1
    18.四数之和
  • 原文地址:https://www.cnblogs.com/csnd/p/11807804.html
Copyright © 2011-2022 走看看