zoukankan      html  css  js  c++  java
  • python Mysql的简记

    1)安装连接mysql的驱动器:mysql-connector:python -m pip install mysql-connector
    可以使用下面代码进行测试是否安装成功:import mysql.connector
    另外:也可以用PyMySQL驱动,安装:pip3 install PyMySQL

    2)创建数据库连接:
    import mysql.connector
    mydb = mysql.connector.connect(
    host="localhost", # 数据库主机地址
    user="yourusername", # 数据库用户名
    passwd="yourpassword" # 数据库密码
    )

    3)创建数据库:
    #cursor游标:此处的游标感觉不像以前的游标,以前的游标算是一个标志点,记录你遍历到哪里。只读,不能更新。这里创建的游标对象是可以对数据库进行增删查改似的,类似于数据库连接对象。
    mycursor = mydb.cursor()
    mycursor.execute("CREATE DATABASE runoob_db")

    4)打印mysql中数据库的名称:(类似都可以这样用:比如打印数据库中的所有表)
    mycursor.execute("SHOW DATABASES")#此时的mycursor会存储execute执行完所得到的东西
    for x in mycursor:
    print(x)

    5)创建数据库表:
    import mysql.connector
    mydb = mysql.connector.connect(
    host="localhost",
    user="root",
    passwd="123456",
    database="runoob_db"#对指定数据库操作,自然要在连接的时候指定数据库了
    )
    mycursor = mydb.cursor()
    mycursor.execute("CREATE TABLE sites (name VARCHAR(255), url VARCHAR(255))")

    6)主键设置:(alter table tab add property : 给表添加主键)
    mycursor.execute("ALTER TABLE sites ADD COLUMN id INT AUTO_INCREMENT PRIMARY KEY")
    如果表尚未创建,可以创建的时候直接指定主键:
    mycursor.execute("CREATE TABLE sites (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), url VARCHAR(255))")

    7)插入:
    sql = "INSERT INTO sites (name, url) VALUES (%s, %s)"
    val = ("RUNOOB", "https://www.runoob.com")#批量插入的话,直接在该括号里添加新的元素即可
    mycursor.execute(sql, val)
    mydb.commit() # 数据表内容有更新,必须使用到该语句

    8)查询:
    mycursor.execute("SELECT name, url FROM sites")
    myresult = mycursor.fetchone() # fetchone() 获取一条记录
    myresult = mycursor.fetchall() # fetchall() 获取所有记录
    for x in myresult:#输出所查到的记录
    print(x)
    指定条件下的查询:where语句:
    sql = "SELECT * FROM sites WHERE name ='RUNOOB'"
    mycursor.execute(sql)
    myresult = mycursor.fetchall()
    通配符查询:%
    sql = "SELECT * FROM sites WHERE url LIKE '%oo%'"
    为了防止数据库查询发生sql注入的攻击,我们可以使用%s占位符来转义查询的条件:(删除和更新也是可以这样处理)
    sql = "SELECT * FROM sites WHERE name = %s"
    na = ("RUNOOB", )
    mycursor.execute(sql, na)
    myresult = mycursor.fetchall()

    9)排序:查询结果排序可以使用 ORDER BY 语句,默认的排序方式为升序,关键字为 ASC,如果要设置降序排序,可以设置关键字 DESC。
    sql = "SELECT * FROM sites ORDER BY name"#按 name 字段字母的升序排序,降序则改为“ORDER BY name DESC”
    mycursor.execute(sql)
    myresult = mycursor.fetchall()

    10)limit:设置查询的数据量,可以通过“limit”语句来指定。
    mycursor.execute("SELECT * FROM sites LIMIT 3")#限定:读取前面3条记录
    另外也可以指定起始位置: 0 为 第一条,1 为第二条,以此类推
    mycursor.execute("SELECT * FROM sites LIMIT 3 OFFSET 1") #通过OFFSET进行设置:从第二条开始,读取三条记录,也就是2,3,4记录

    11)删除记录:delete
    sql = "DELETE FROM sites WHERE name = 'stackoverflow'"
    mycursor.execute(sql)
    mydb.commit()#更改的都要进行提交
    删除表:sql = "DROP TABLE IF EXISTS sites" # 删除数据表 sites

    12)更新:update
    sql = "UPDATE sites SET name = 'ZH' WHERE name = 'Zhihu'"
    mycursor.execute(sql)
    mydb.commit()

  • 相关阅读:
    【leetcode】13. Roman to Integer
    【leetcode】12. Integer to Roman
    【leetcode】11. Container With Most Water
    Linux 学习总结(五)-linux 文件系统及相关命令
    Linux学习总结(四)-两种模式修复系统,单用户,救援模式
    Linux学习总结(三)之 putty,xshell远程连接及密钥认证篇
    Linux学习总结(二) 网络配置-NAT方式静态IP配置篇
    Linux学习总结(一) windos环境vmware安装centos7
    看完这篇Linux基本的操作就会了
    linux下tar命令详解
  • 原文地址:https://www.cnblogs.com/yangrongkuan/p/12114459.html
Copyright © 2011-2022 走看看