MySQLdb使用

准备工作

打开mysql数据库服务

打开cmd后,进入安装位置(可以通过右键打开):

cd C:\Program Files\MySQL\MySQL Server 8.0\bin

开启服务:

mysql -u root -p password # 用户名,密码

在这里插入图片描述

建库建表

create database news;
use news;
create table NEWS(title varchar(100),url varchar(200), date varchar(20));

查看数据库:

show databases;

在这里插入图片描述

查看表结构:

show columns from NEWS;

在这里插入图片描述

解决2059问题

https://www.cnblogs.com/yongqi-wang/p/agsgfs.html

使用

连接数据库

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import MySQLdb

# 打开数据库连接
db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB", charset='utf8' )

# 使用cursor()方法获取操作游标 
cursor = db.cursor()

# 使用execute方法执行SQL语句
cursor.execute("SELECT VERSION()")

# 使用 fetchone() 方法获取一条数据
data = cursor.fetchone()

print "Database version : %s " % data

# 关闭数据库连接
db.close()

创建数据库表

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import MySQLdb

# 打开数据库连接
db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB", charset='utf8' )

# 使用cursor()方法获取操作游标 
cursor = db.cursor()

# 如果数据表已经存在使用 execute() 方法删除表。
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")

# 创建数据表SQL语句
sql = """CREATE TABLE EMPLOYEE (
         FIRST_NAME  CHAR(20) NOT NULL,
         LAST_NAME  CHAR(20),
         AGE INT,  
         SEX CHAR(1),
         INCOME FLOAT )"""

cursor.execute(sql)

# 关闭数据库连接
db.close()

插入数据

# SQL 插入语句
for i in range(len(title_list)):
    sql = "INSERT INTO NEWS(title,url,date) \
             VALUES('%s', '%s', '%s');" % (title_list[i],url_list[i],date_list[i])
    print(sql)
    try:
       # 执行sql语句
       cursor.execute(sql)
       # 提交到数据库执行
       db.commit()
    except:
       # Rollback in case there is any error
       db.rollback()
       print("error!")
  1. 注意VALUES('%s', '%s', '%s')这里一定要带引号,否则插入不成功
  2. 若不提交(commit),数据库内没有commit的事务可能会被rollback。

查询取数据

在上文插入之后,直接可以继续查看该表的结果:

sql = "SELECT * FROM NEWS"
cursor.execute(sql)
results=cursor.fetchall()
print(results)

SQL语句

修改表结构

 alter table news modify column title varchar(200);

修改后:
在这里插入图片描述

备份和恢复

备份:

C:\Program Files\MySQL\MySQL Server 8.0\bin>mysqldump -uroot -p news > f:/simudb1.sql # 非明文,仅数据库
C:\Program Files\MySQL\MySQL Server 8.0\bin>mysqldump -uroot -p123456 news news > f:/simuback.sql #dbname tablename

恢复:

mysql -uroot -p news < simudb1.sql
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值