一、使用的工具

1、工具:mysql、Navicat (数据库管理工具)

2、mysql :

可以正式安装,但比较模范,可用我们的mysql包,解压后,将其放到D盘;
然后,点启动服务,到启动任务管理器,看有没有mysql进程,如有就安装成功
mysql和excel的关系:

mysql excel
数据库名 工作簿名
字段 表头

3、数据库管理:Navicat

1)连接MYSQL
打开navicat,点新建—选择mysql,填写连接事项:
连接名:随便填,用英文
主机:localhost
端口:3306
用户名:test
密码:空或test
2)新建数据库
3)新建表:
选择仙剑的数据库—在右边-选新建表
然后进行标的设计,需要注意的是:
建立:ID,选择不为null,点主键,点自己递增,这样建立了一个自动递增的主键,一般必须有
建立对应的表项,选择适当的类型和长度,如果是小数,选择decimal类型
如何设计中文字段,在下面的字符集中,选UTF8,而不是默认的latin,否则中文数据导入后,显示成???
image.png

4)导入数据:

不通过命令,我们制剂用navicat导入功能
选择后对应的值就行
image.pngimage.pngimage.pngimage.png

二、PYTHON操作

import pymysql
database=pymysql.connext("服务器地址127.0.0.1","用户名test","密码test","数据库名test",charset='utf8')
#2 连接数据库,注意这里只是连接到数据库名,未涉及具体表名,就如EXcel,连接到工作簿,暂未提到表
cursor=database.cursor()

例子:
import ``pymysql #1 导入库

database=pymysql.connect(``"localhost"``,``"test"``,``""``,``"test"``,``charset``=``'utf8'``)
``#2 连接数据库,注意这里只是连接到数据库名,未涉及具体表名,就如EXcel,连接到工作簿,暂未提到表。#database=pymysql.connext("服务器地址127.0.0.1","用户名test","密码空","数据库名test",charset='utf8')
cursor=database.cursor() #3 初始化指针,是通过指针操作

#``增
sql=``"INSERT INTO myaa(date,company,province,price,weight) VALUES ('2019-9-20','``潍坊粮食``','``潍坊``','2200','45.1')"``# ``增加的`` SQL``语句 ,注意 values里面的是单引号,不能用双引号
cursor.execute(sql) ``#``指针指向``sql ,``并执行
database.commit() ``#``对存储的数据修改后,必须``commit``下 更新
database.close() ``#``关闭数据库

查询====
#基础语法:“SELECT 字段 FROM 表名 WHERE 条件”
#字段:如差多个字段,则:字段1,字段2:“SELECT 字段1,字段2 FROM 表名 WHERE 条件”
# 如查所有字段,则::“SELECT FROM 表名 WHERE 条件”
# 如查的含运算:字段1,字段2字段3:“SELECT 字段1,字段2字段3 FROM 表名 WHERE 条件”

sql=”SELECT company FROM myaa WHERE date=’2019-09-20’” #读一个数据
sql=”SELECT company,price FROM myaa WHERE date=’2019-09-20’” #读符合条件的所有数据
#sql=”SELECT * FROM myaa WHERE date=’2019-09-20’” #读符合条件的所有数据
#sql=”SELECT company,sum(weight)rice FROM myaa WHERE date=’2019-09-20’ GROUP BY company” #查日期为2019-9-20的公司,和重量,以公司名汇总重量

ursor.execute(sql) #执行SQL语句
result=cursor.fetchall() #将结果全部取出来
print(result)

修改
#格式:”UPDATE 表名 SET 字段1=内容1,字段2=内容2 WHERE 条件”
#sql=”UPDATE myaa SET date=’2020-09-20’ WHERE date=’2019-09-20’”
#cursor.execute(sql)
#database.commit()
#database.close()

删除
#格式:”DELETE FROM 表名 WHERE 条件;”
sql=”DELETE FROM myaa WHERE date=’2020-05-03’;”
cursor.execute(sql)
database.commit()
database.close()

sql两个重要的命令:
删除表:DROP TABLE <表名>;
示例: — 删除学生表
DROP TABLE Student;
清空表:清空是表及表结构还在,但里面数据清空了!
清空表: TRUNCATE TABLE <表名>;
示例:— 删除学生表
TRUNCATE TABLE Student;

但在易语言,操作ACCESS表时,用 TRUNCATE TABLE <表名>; 进行表数据清空,没起作用。
后盖有 DELETE FROM 表名

.版本 2
.支持库 eDB
.子程序 按钮4被单击
.局部变量 jieguo, 逻辑型
.局部变量 sql, 文本型
数据库连接1.连接Access (取运行目录 () + “\data\财务助手管理.mdb”, “”)
sql = “TRUNCATE TABLE 提醒事项 ” ‘ 清空原有的数据表
jieguo = 数据库连接1.执行SQL (sql, )
.如果 (jieguo = 真)
信息框 (“清空”, 0, , )
.否则
sql = “DELETE FROM 提醒
事项” ‘ 清空原有的数据表
数据库连接1.执行SQL (sql, )
信息框 (“DELETE”, 0, , )