python中使用mysql

python中使用mysql

一、mysql命令行使用

我们通常可以将SQL分为三类:DDL(数据定义语言)、DML(数据操作语言)和DCL(数据控制语言)。DDL主要用于创建(create)、删除(drop)、修改(alter)数据库中的对象,比如创建、删除和修改二维表;DML主要负责插入数据(insert)、删除数据(delete)、更新数据(update)和查询(select);DCL通常用于授予权限(grant)和召回权限(revoke)。

二、命令行下的mysql基础命令

drop database if exists hrs;//如果存在就删除hrs这个数据库,删除用drop
create database hrs default charset utf8;//创建数据库,后面是编码Utf8

use hrs;//开启数据库,命令行模式下想对某个数据库进行操作就用use

drop table if exists tb_emp;//看是否存在tb_emp这个表,存在就删掉
drop table if exists tb_dept;

create table tb_dept
(
dno   int not null comment '编号',
dname varchar(10) not null comment '名称',
dloc  varchar(20) not null comment '所在地',
primary key (dno));//给某个字段添加主键约束之后,该字段既不能为0,也不能重复,每张表又要有一个主键
//对第一个表插入数据
insert into tb_dept values 
   (10, '会计部', '北京'),
   (20, '研发部', '成都'),
   (30, '销售部', '重庆'),
   (40, '运维部', '深圳');
//创建第二个表

create table tb_emp(
eno   int not null comment '员工编号',
ename varchar(20) not null comment '员工姓名',
job   varchar(20) not null comment '员工职位',
mgr   int comment '主管编号',
sal   int not null comment '员工月薪',
comm  int comment '每月补贴',
dno   int comment '所在部门编号',
primary key (eno));

alter table 表格名称 add constraint 约束名称 增加的约束类型 (列名)
alter table tb_emp add constraint fk_emp_dno foreign key (dno) references    tb_dept (dno);
 //对tb_emp这个表输入数据
insert into tb_emp values
   (7800, '张三丰', '总裁', null, 9000, 1200, 20),
   (2056, '乔峰', '分析师', 7800, 5000, 1500, 20),
   (3088, '李莫愁', '设计师', 2056, 3500, 800, 20),
   (3211, '张无忌', '程序员', 2056, 3200, null, 20),
   (3233, '丘处机', '程序员', 2056, 3400, null, 20),
   (3251, '张翠山', '程序员', 2056, 4000, null, 20),
   (5566, '宋远桥', '会计师', 7800, 4000, 1000, 10),
   (5234, '郭靖', '出纳', 5566, 2000, null, 10),
   (3344, '黄蓉', '销售主管', 7800, 3000, 800, 30),
   (1359, '胡一刀', '销售员', 3344, 1800, 200, 30),
   (4466, '苗人凤', '销售员', 3344, 2500, null, 30),
   (3244, '欧阳锋', '程序员', 3088, 3200, null, 20),
   (3577, '杨过', '会计', 5566, 2200, null, 10),
   (3588, '朱九真', '会计', 5566, 2500, null, 10);

三、实践python中使用Mysql数据库

import pymysql//pip install pymysql
def main():
    no = int(input('编号: '))
    name = input('名字: ')
    loc = input('所在地: ')
    # 1. 创建数据库连接对象
    con = pymysql.connect(host='localhost', port=3306,
                          database='hrs', charset='utf8',
                          user='root', password='password')
    try:
        # 2. 通过连接对象获取游标
        with con.cursor() as cursor:
            # 3. 通过游标执行SQL并获得执行结果
            result = cursor.execute(//执行sql命令
                'insert into tb_dept values (%s, %s, %s)',
                (no, name, loc)
            )
        if result == 1:
            print('添加成功!')
        # 4. 操作成功提交事务
        con.commit()
    finally:
        # 5. 关闭连接释放资源
        con.close()


if __name__ == '__main__':
    main()

Mysql学习路径
https://github.com/jackfrued/Python-100-Days/blob/master/Day36-40/36-38.%E5%85%B3%E7%B3%BB%E5%9E%8B%E6%95%B0%E6%8D%AE%E5%BA%93MySQL.md

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值