python之数据库操作

数据库知识预备

SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)

查询和更新指令构成了 SQL 的 DML 部分:
        SELECT - 从数据库表中获取数据
        UPDATE - 更新数据库表中的数据
        DELETE - 从数据库表中删除数据
        INSERT INTO - 向数据库表中插入数据
SQL 的数据定义语言 (DDL) 部分使我们有能力创建或删除表格。我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。
SQL 中最重要的 DDL 语句:
        CREATE DATABASE - 创建新数据库
        ALTER DATABASE - 修改数据库
        CREATE TABLE - 创建新表
        ALTER TABLE - 变更(改变)数据库表
        DROP TABLE - 删除表
        CREATE INDEX - 创建索引(搜索键)
        DROP INDEX - 删除索引


SQL语法

mysql> show databases;  // 查看当前所有的数据库
mysql> use test;   //作用与test数据库
mysql> show tables;   //查看test库下面的表
        
mysql> CREATE  TABLE  user (name VARCHAR(20),password VARCHAR(20));  //创建user表
mysql> insert into user values('Tom','1321');  //向user表内插入数据
mysql> delete from user where name = 'Jack';  //删除name 等于Jack的数据
mysql> update user set password='1111' where name = 'Alen';   //修改name等于Alen 的password 为 1111
        
mysql> select 列名称 from 表名称; //参看表中列的数据
mysql> select * from 表名称; /查看表的所有数据
mysql> select distinct 列名称 from 表名称; //参看表中列的数据(过滤掉重复的)
mysql> select 列名称 from 表名称 where 列 运算符 值; //有条件地从表中选取数据
mysql> select * from Persons WHERE FirstName='Thomas' AND LastName='Carter' ; //可用and、or运算符, 可以用多次,并用括号区分优先级
SELECT Company, OrderNumber FROM Orders ORDER BY Company, OrderNumber; //ORDER BY 语句用于根据指定的列对结果集进行排序。

drop table <表名>; //删除表
drop database <数据库名>; //删除数据库

python进行数据库操作

# -*- coding: utf-8 -*-
import MySQLdb

#连接数据库
conn= MySQLdb.connect(
        host='localhost',
        port = 3306,
        user='root',
        passwd='123456',
        db ='test',
        )

 #创建游标
cur = conn.cursor()  

#创建数据表
cur.execute("create table student(id int ,name varchar(20),class varchar(30),age varchar(10))")

#每次执行execute操作都会返回影响的数据条数

#插入一条数据
inser = "insert into student values(%s,%s,%s,%s)"
cur.execute(inser ,('3','Huhu','2 year 1 class','7'))

#插入多条数据
cur.executemany(inser,[
    ('3','Tom','1 year 1 class','6'),
    ('3','Jack','2 year 1 class','7'),
    ('3','Yaheng','2 year 2 class','7'),
    ])

#打印符合条件的数据条数
print cur.execute("select * from student")

#打印符合条件的数据
info = cur.fetchmany(cur.execute("select * from student"))
for ii in info:
    print ii

#关闭游标    
cur.close()
#进行提交
conn.commit()
#关闭数据库连接
conn.close()



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值