Mysql

Posted yukizzc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql相关的知识,希望对你有一定的参考价值。

安装及配置

https://www.jb51.net/article/198291.htm

一、安装压缩包解压开来

 

 二、进入目录内的bin,然后运行cmd(同时把这个路径放到环境变量中)。执行下面一系列动作(8.0版本已经不需要自己创建ini配置了)

 三、启动服务成功后,敲mysql -u root -p

如果能进入mysql命令界面就说明成功了。

 

SQL命令

https://www.runoob.com/mysql/mysql-select-query.html

一般直接使用可视化的软件比如SQLyg来进行管理方便

 

python操作mysql

https://www.runoob.com/python3/python-mysql-connector.html

创建数据库

coon是建立连接,实例化一个connect()对象。

游标(cursor)**是一个存储在MySQL服务器上的数据库查询,它不是一条SELECT语句,而是被该语句检索出来的结果集。在存储了游标之后,应用程序可以根据需要滚动或浏览其中的数据。游标主要用于交互式应用,其中用户需要滚动屏幕上的数据,并对数据进行浏览或做出更改。

import mysql.connector

coon = mysql.connector.connect(
    host="localhost",
    user="root",
    passwd=""
)

cursor = coon.cursor()
cursor.execute("CREATE DATABASE ft")
#关闭游标
cursor.close()
#关闭数据库链接
coon.close()

 

创建表、查询表

import mysql.connector

coon = mysql.connector.connect(
    host="localhost",
    user="root",
    passwd="",
    database=\'ft\'
)

cursor = coon.cursor()
code = \'btc\'
type_ = \'1min\'
temp = \' (date INT(10),code VARCHAR(10),open FLOAT(10,2),amount FLOAT(20,2))\'
sql = \'create table \' + code + \'_\' + type_ + temp
cursor.execute(sql)
cursor.close()
coon.close()
import mysql.connector

coon = mysql.connector.connect(
    host="localhost",
    user="root",
    passwd="",
    database=\'ft\'
)

cursor = coon.cursor()

sql = \'show tables\'
cursor.execute(sql)
table_list = []
for i in cursor:
    print(i)
    # 返回的是一个元组所以
    table_list.append(i[0])
print(table_list)
cursor.close()
coon.close()

 

增删改查

import mysql.connector

coon = mysql.connector.connect(
    host="localhost",
    user="root",
    passwd="",
    database=\'ft\'
)
# 这里设置的缓存True,如果不设置的话在使用fetchone时候会报Unread result found
# https://www.cnblogs.com/mentiantian/p/9531861.html
cursor = coon.cursor(buffered=True)
code = \'btc\'
type_ = \'1min\'
temp = \' (date,code,open,amount) values(%s,%s,%s,%s)\'
sql = \'insert into \' + code + \'_\' + type_ + temp
val = (1, "i love ft", 2, 15)
cursor.execute(sql, val)
# 提交事务,数据表内容有更新,必须使用到该语句
coon.commit()

cursor.execute("SELECT * FROM btc_1min")
# 查询所有数据
# print(cursor.fetchall())
# 查询第一条数据
print(cursor.fetchone())
cursor.close()
coon.close()

 

import mysql.connector

coon = mysql.connector.connect(
    host="localhost",
    user="root",
    passwd="",
    database=\'ft\'
)
# 这里设置的缓存True,如果不设置的话在使用fetchone时候会报Unread result found
# https://www.cnblogs.com/mentiantian/p/9531861.html
cursor = coon.cursor(buffered=True)
code = \'btc\'
type_ = \'1min\'
temp = " SET date={},code=\\\'{}\\\',open={},amount={}".format(10, \'我爱f婷\', 20, 30, 40)
sql = "UPDATE " + code + \'_\' + type_ + temp
# 通过这个语句要注意,字符串必须要有引号包起来,所以上面用了\\\'单引号的转义
print(sql)
cursor.execute(sql)
# 提交事务,数据表内容有更新,必须使用到该语句
coon.commit()
print(cursor.rowcount, " 条记录被修改")
cursor.close()
coon.close()

注意:如果数据库实时更新时候普通的fetchone获取过来的数据不更新。具体解释看这里https://www.cnblogs.com/sidianok/p/12727409.html

import mysql.connector
coon = mysql.connector.connect(host=\'localhost\', user=\'root\', passwd=\'\', database=\'ft\')
cursor = coon.cursor(buffered=True)

while True:
    cursor.execute("SELECT * FROM btc_1min")
    result = cursor.fetchone()
    print(result)

上面这段程序循环输出的时候,如果表有更新,那么输出的数据不会同步更新。解决方法如下

import mysql.connector


def one():
    coon = mysql.connector.connect(host=\'localhost\', user=\'root\', passwd=\'\', database=\'ft\')
    cursor = coon.cursor(buffered=True)
    while True:
        cursor.execute("SELECT * FROM btc_1min")
        result = cursor.fetchone()
        coon.commit()
        print(result)


def two():
    coon = mysql.connector.connect(host=\'localhost\', user=\'root\', passwd=\'\', database=\'ft\', autocommit=1)
    cursor = coon.cursor(buffered=True)
    while True:
        cursor.execute("SELECT * FROM btc_1min")
        result = cursor.fetchone()
        print(result)

# one()


two()

 

以上是关于Mysql的主要内容,如果未能解决你的问题,请参考以下文章

从mysql的片段中加载ListView

连接MySQL出现错误:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)(代码片段

使用 json rereiver php mysql 在片段中填充列表视图

关于mysql驱动版本报错解决,Cause: com.mysql.jdbc.exceptions.jdbc4Unknown system variable ‘query_cache_size(代码片段

修改MySQL密码报错“ERROR 1819 (HY000): Your password does not satisfy the current policy requirements“(代码片段

mysql查看版本的四种方法