Python学习_16 数据库


Python学习_16 DB-API
1、re模块复习
import re
reg = re.compile()     
reg.findall()            扫描整个字符串并返回所有匹配成功的值
reg.split()               将匹配到的结果以列表形式展示出来
reg.match()            尝试从字符串起始位置匹配
reg.search()            扫描整个字符串并返回第一个成功的匹配
reg.groups(s)          按照()来分组,s代表下标,从0开始
zh正则表达式[^]和^[]的区别:
[......]:  用来表示一组字符,单独列出:[amk] 匹配'a','m'或'k'
[^...] : 不在[]中的字符:[^abc] 匹配除了a,b,c之外的字符

2、Python的DB-API
    为大多数数据库实现了接口,使用它连接各数据库后,就可以用相同的方式操作各种数据库了
Python DB-API使用流程:
1.引入API模块;
2.获取与数据库的连接;
3.执行sql语句和存储过程;
4.关闭数据库连接。
3、pymysql
Python3版本中用于连接MySQL服务器的一个库,可以用命令pip install PyMySQL直接安装
4、MySQL的事物
数据库操作一个批次的数据就是一个事物,当这个批次所有数据均完成操作之后才可以提交成功,否则全部失败,这就是一个事物
一般来说,事务是必须满足4个条件(ACID):Atomicity(原子性)、Consistency(稳定性)、Isolation(隔离性)、Durability(可靠性)
•1、事务的原子性:一组事务,要么成功;要么撤回。
•2、稳定性 : 有非法数据(外键约束之类),事务撤回。
•3、隔离性:事务独立运行。一个事务处理后的结果,影响了其他事务,那么其他事务会撤回。事务的100%隔离,需要牺牲速度。
•4、可靠性:软、硬件崩溃后,InnoDB数据表驱动会利用日志文件重构修改。可靠性和高速度不可兼得, innodb_flush_log_at_trx_commit选项 决定什么时候吧事务保存到日志里Mysql的事物
4、MySQL的安装
linux用yum安装:
yum install mysql
yum install mysql-server
yum install mysql-devel
启动mysql:
service mysqld start
如果启动失败,cd /etc/rc.d/init.d目录,看下mysqld文件的权限
5、MySQL root用户设置密码
[root@VM_0_6_centos ~]# mysqladmin -u root password "new_password";
再次登录MySQL的时候就要提示输入密码:
[root@VM_0_6_centos ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.1.73 Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>
6、MySQL常用操作
授权超级用户:
•grant all privileges on *.* to 'tangnanbing'@'%' identified by '1qa   z@W  SX' with grant option;
•查看都有哪些库  show databases;
•查看某个库的表 use db; show tables \G ;
•查看表的字段desc tb;
•查看建表语句 show create table tb;
•当前是哪个用户select user() ;
•当前库 select database() ;
•创建库 create database db1;
•创建表
create table t1 (id int, name char(40 ) adress varchar   
7、云主机创建一个库,然后创建用户,创建密码并用navicat登录
1.安装完库之后,root默认没有密码,登录之后设置密码:
mysqladmin -u root password "password"
再次登录需输入密码
[root@VM_0_6_centos ~]# mysql -u root -p
Enter password:
2.创建一个库
mysql> create database yanzi;
3.创建一个用户
mysql> CREATE USER 'yanzi'@'%' IDENTIFIED BY 'yanzi';
4.授权新用户权限:
grant all privileges on *.* to 'yanzi'@'%' identified by 'password' with grant option;
注:*.*是所有用户所有库,属于超级管理员权限,一般授权格式:GRANT privileges ON databasename.tablename TO 'username'@'host' 
如果想让该用户可以授权,可以用:GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;
8、MySQL的连接
写一个连接数据库的类,只要连数据库,直接调用类
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2018\5\6 0006 21:09
# @Author  : xiexiaolong
# @File    : demon1.py
import pymysql

class ConnectMySQL(object):
    def __init__(self):
        self.dbConfig = {
        'host':'193.112.207.252',
        'port':3306,
        'user':'yanzi',
        'password':'password',
        'db':'yanzi',
        'charset':'utf-8'
        }
        conn = pymysql.connect(**self.dbConfig)
        self.a = conn
if __name__ == '__main__':
    connectMySQL = ConnectMySQL()
    sql = '''inset into test (id,name) values (2,yanzi) '''

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值