python连接mysql的一些基础知识+安装Navicat可视化数据库

一.mysql基础知识 

 1.connect连接数据库

import pymysql

def get_conn():
    conn = pymysql.connect(host='xxx.xxx.xxx.xxx', port=3306, user='root', passwd='', db='newspaper_rest') # db:表示数据库名称
    return conn

2.创建表

import pymysql

def get_conn():
    conn = pymysql.connect(host='xxx.xxx.xxx.xxx', port=3306, user='root', passwd='', db='newspaper_rest') # db:表示数据库名称
    return conn


# 创建mysql表
def ceartTable(cursor,form_name):
    #删数据库行为 要慎重
    # # # 创建newspaper_rest 数据库, 如果存在则删除newspaper_rest 数据库
    cursor.execute("drop database if exists newspaper_rest")
    cursor.execute("create database newspaper_rest")

    # 选择 newspaper_rest 这个数据库
    cursor.execute("use newspaper_rest")
    # KEY
    # IDENTITY
    # 将sql中的内容为创建一个名为recordid_form的表
    sql = """CREATE TABLE IF NOT EXISTS %s (
              recordid VARCHAR (100),
              publish_date VARCHAR (100),
              page_num VARCHAR (100),
              ISdeal VARCHAR (1),
              primary key (recordid,publish_date,page_num)
               )"""%(form_name)
    # # 如果存在表则删除
    # cursor.execute("drop table if exists %s"%(form_name))
    # 创建表
    cursor.execute(sql)

    print("successfully create table")


db = get_conn()
cursor = db.cursor()

# # # # # # 创建数据库和表
form_name = 'imgs_list_path_form'
ceartTable(cursor, form_name)

3.插入并且加上了重复插入的异常

# 在存放图片路径的表中插入数据
def insert_pub_page_name_data(db,cursor,recordid, publish_name,page_num,isdeal):
    # ISdeal = [str(isdeal)]*len(recordid)
    # data_tuple = tuple(zip(recordid, ISdeal))
    try:
        # 插入数据
        sql = "INSERT INTO imgs_list_path_form (recordid,publish_date,page_num,ISdeal) VALUES('%s','%s','%s','%s')"%(recordid, publish_name,page_num,isdeal)
        cursor.execute(sql)
        # cursor.executemany(sql, data_tuple)
        # 提交到数据库执行
        db.commit()
        print("successfully insert publish date data!")
    except Exception as e:
        print('insert multipy!', e)
        return False
    return True

4.查询

def find_pub_page_name_data(cursor,is_deal):
    # 要执行的sql语句
    sql = "select * from imgs_list_path_form where ISdeal ='%s'"%(is_deal)
    cursor.execute(sql)
    try:
        result = cursor.fetchall()
    except TypeError:
        print("An exception was raised")
    else:
        # print(result, "successfully find")
        print("successfully find publish date data!!!")
        # print('res:', result)
        return result

5.更新

def update_pub_page_name_data(db,cursor,recordid,publish_name,page_num):
    try:
        # 更改
        sql = "update imgs_list_path_form set ISdeal='1' where recordid='%s' AND publish_date='%s' AND page_num='%s'"%(recordid,publish_name,page_num)
        cursor.execute(sql)
        db.commit()
        print('update Success!')
    except Exception as e:
        print('update fail!',e)
        return False
    return True

6.删除

# 删除
def deleteRecord(db, cursor, key, value):
    # 要执行的sql语句
    sql = "delete from recordid_library where " + key + "=" + value
    cursor.execute(sql)
    db.commit()

    print("successfully delete")

可视化数据库: 

python连接mysql的一些基础知识+安装Navicat可视化数据库_第1张图片

二.安装Navicat

首先上官网上下载LINUX版本: http://www.navicat.com/download/navicat-for-mysql 
一.安装

1 下载 navicat110_mysql_en.tar.gz 文件

2.tar -zxvf xxx/navicat112_mysql_cs_x64

3 解压后 进入解压后的目录运行命令: 
./start_navicat 

二.修改中文可视

连接上数据库后里面的中文数据是乱码,把Ubuntu的字符集修改为zh_CN.utf8就行了,修改方法: 
1.查看系统支持的字符集: locale -a

2,修改字符集: export LANG=zh_CN.utf8

3.用vim命令打开start_navicat文件,会看到 export LANG=”en_US.UTF-8” 将这句话改为 export LANG=”zh_CN.UTF-8”。

三.破解
sudo rm -r /home/fzh/.navicat64/

删除后,再次启动navicat时,会加载wine的更新配置窗口,启动后之前用的连接名以及密码已经没有了,需要重新创建连接。

 

你可能感兴趣的:(python)