zoukankan      html  css  js  c++  java
  • Python操作MySQL

    设置MySQL

    在Linux上,需要编辑MySQL的配置文件,把数据库默认的编码全部改为UTF-8。MySQL的配置文件默认存放在/etc/my.cnf或者/etc/mysql/my.cnf:

    [client]
    default-character-set = utf8
    
    [mysqld]
    default-storage-engine = INNODB
    character-set-server = utf8
    collation-server = utf8_general_ci
    

    重启MySQL后,可以通过MySQL的客户端命令行检查编码:

    $ mysql -u root -p
    Enter password: 
    Welcome to the MySQL monitor...
    ...
    
    mysql> show variables like '%char%';
    +--------------------------+--------------------------------------------------------+
    | Variable_name            | Value                                                  |
    +--------------------------+--------------------------------------------------------+
    | character_set_client     | utf8                                                   |
    | character_set_connection | utf8                                                   |
    | character_set_database   | utf8                                                   |
    | character_set_filesystem | binary                                                 |
    | character_set_results    | utf8                                                   |
    | character_set_server     | utf8                                                   |
    | character_set_system     | utf8                                                   |
    | character_sets_dir       | /usr/local/mysql-5.1.65-osx10.6-x86_64/share/charsets/ |
    +--------------------------+--------------------------------------------------------+
    8 rows in set (0.00 sec)
    

    看到utf8字样就表示编码设置正确。另一种设置方法如下

    set character_set_server=utf8  #重启会失效
    

    注:如果MySQL的版本≥5.5.3,可以把编码设置为utf8mb4,utf8mb4和utf8完全兼容,但它支持最新的Unicode标准,可以显示emoji字符。

     

    安装MySQL驱动

    由于MySQL服务器以独立的进程运行,并通过网络对外服务,所以,需要支持Python的MySQL驱动来连接到MySQL服务器。MySQL官方提供了mysql-connector-python驱动,但是安装的时候需要给pip命令加上参数--allow-external:

    $ pip3 install mysql-connector-python --allow-external mysql-connector-python
    

    如果上面的命令安装失败,可以试试另一个驱动:

    $ pip install mysql-connector
    

    例子

    我们演示如何连接到MySQL服务器的test数据库: 

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    
    """
    mysql驱动
    pip install mysql-connector
    
    如果MySQL的版本≥5.5.3,可以把编码设置为utf8mb4
    utf8mb4和utf8完全兼容,但它支持最新的Unicode标准,可以显示emoji字符。
    
    """
    # 导入MySQL驱动
    import mysql.connector
    # 连接数据库,名称为mysql的名称,安装时已经设置
    conn=mysql.connector.connect(host='192.168.1.164',user='root',password='123456',database='test')
    cursor=conn.cursor()
    # 建表
    #cursor.execute('create table user1 (id varchar(20) primary key,name varchar(20))')
    
    # 添加数据
    for x in range(2,4):
        # MySQL的SQL占位符是%s
        cursor.execute('insert into user (id,name) values (%s,%s)',[x,'jiang'+str(x)])
    cursor.rowcount
    
    #执行INSERT等操作后要调用commit()提交事务;
    conn.commit()
    cursor.close()
    
    #查询
    cursor=conn.cursor()
    cursor.execute("select * from user")
    
    values=cursor.fetchall()
    print(values)
    
    cursor.close()
    conn.close
    

    查询结果以列表形式返回

    [('1', 'Michael'), ('2', 'jiang2'), ('3', 'jiang3')]
    

      

  • 相关阅读:
    Extjs4循序渐进(二)——Ext的界面(容器和布局)
    Extjs4循序渐进(一)——开始Ext
    重写jQuery的$字符
    WinForm窗口基础配置
    C# 遍历文件夹图片并用ListView控件展示
    Extjs4循序渐进(三)——表单及表单控件详解一(表单布局和基础控件 Text,TextArea,Number,Checkbox,Radio,Date)
    【ezj】一款国产JavaScript 框架,使用体验
    使用Java语言实现几种常见的排序算法
    http://www4.it168.com/jtzt/shenlan/tech/netdesignp/
    写在前面的话
  • 原文地址:https://www.cnblogs.com/zuxing/p/8997518.html
Copyright © 2011-2022 走看看