## Python第三课
### 推荐一个python数据结构可视化工具 http://www.pythontutor.com/
### 课表
- Mysql数据库的基本操作
- 用python操作数据库
- 编写python爬虫并保存到数据库
### 数据库
我们平时说的数据库,指的是数据库管理系统
### Mysql数据库
MariaDB:MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品
### 关系型数据库
另外一种类型的数据库是:非关系型数据库。比较流行的是:Mongodb,redis
```python
dict = {
'a' = 100,
'b' = 200
}
```
json格式 数据交换语言
```python
import json
with open('K:/Code/jupyter-notebook/Python Study/test.json') as f:
# json.load(f)
print(f.readlines())
```
["{'a' : 100,'b' : 200,'c' : 300}"]
```python
#错误
data_1 = "{'a': 1,'b': 2,'c': 3}"
#正确,单引号在外
data_2 = '{"a": 1,"b": 2,"b": 3}'
j_data = json.loads(data_2)
type(j_data)
with open('K:/Code/jupyter-notebook/Python Study/test.json', 'r') as f:
json.load(f)
print(j_data)
```
{'a': 1, 'b': 3}
### MySQL数据库基本操作
```python
# 链接数据库
mysql -u root -p
# u 是用户名 p 是需要用密码登录
# 查看数据库
show databases;
# 选择数据库
use database_name;
# 查看数据库中的table表
show tables;
# 查看table表的数据结构
desc tables;
# 查看表中的数据
select * from table_name;
# 查看数据并限制数量
select * from table_name limit 10;
```
### 数据库管理工具
sequelpro(mac) 链接: http://www.sequelpro.com/
Navicat(Win)
#### 命令行操作数据库
#### 创建数据库
creat database database_name;
#### 删除数据库
drop database database_name;
#### 指定字符集和校对集,创建数据库
creat database database_name default charset utf8mb4 collate utf8mb4_general_ci;
#### 创建表格
create table table_name{
id int(11) unsigned not null default null auto_increment,
name varchar(80) not null,
primary key('id')
};
#### 插入数据
insert into column_name ('id','name')
values(1,'value_name');
#### 修改数据
update column_name set name = 'value_name2';
where name = 'value_name1';
#### 删除数据
delete from column
where id = 6;
#### mysql数据类型: http://www.runoob.com/mysql/mysql-data-types.html
### 使用Python操作数据库
#### python安装第三方库
1、pip : 举例:pip install pymysql
2、conda : 举例:conda install pymysql
#### python安装MySQL数据库支持
pip install MySQL-python
pip install pymysql
```python
import pymysql
```
```python
DATABASE = {
'host': 'localhost', #如果是远程数据库,此处为远程服务器的ip地址
'database': 'db_library',
'user' : 'root',
'password': 'toor',
# 字符集编码,防止数据乱码
'charset' : 'utf8'
}
# db = pymysql.connect(host = 'localhost',user = 'root',password = 'toor',database = 'goods',charset = 'utf8')
# 等价于
# db = pymysql.connect('localhost','root','toor','goods',)
# 等价于
db = pymysql.connect(**DATABASE)
```
### 游标
```python
cursor = db.cursor()
```
### 查询
```python
sql = "SELECT * FROM tb_booktype limit 5"
cursor.execute(sql)
results = cursor.fetchall()
for row in results:
print(row)
```
(1, '文学作品', 5, 5.0)
(2, '武侠小说', 3, 0.0)
(3, '计算机类', 10, 1.0)
(4, '微型小说', 6, 1.0)
(5, '逻辑推理', 13, 10.0)
### 插入操作
```python
sql = "INSERT INTO tb_booktype(typename) VALUES('英语阅读');"
cursor = db.cursor()
cursor.execute(sql)
db.commit()
```
### 删除操作
```python
sql = "delete from tb_booktype where typename='英语阅读';"
cursor = db.cursor()
cursor.execute(sql)
db.commit()
```
### 更新操作
```python
sql = "update tb_booktype set typename='英语文学' where typename='英语阅读';"
cursor = db.cursor()
cursor.execute(sql)
db.commit()
```
### 捕捉异常
```python
try:
do something
except Exception as e:
print(e)
```
Python编程入门学习笔记(六)
最新推荐文章于 2024-01-11 09:00:00 发布