python SQL基础与python交互

SQL基础语句
  1. 进入数据库
mysql -u[username] -p[passward]
  1. 数据库操作
CREATE DATABASE [db_name];   #创建数据库
DROP DATABASE [db_name];     #删除数据库
SHOW DATABASES;                 #查看数据库
USE DATABASE;                #使用数据库  
  1. 表格操作
#创建表格
CREATE TABLE [table_name] ([column_name datatype],[column_name datatype],...);
#例如我们要创建一个学生表 字段有  [id int类型 主键 自动增长 非空 ],[姓名 字符串最大长度20 非空]
CREATE TABLE students(id int primary key auto_increment not null,name varchar[20] not null);

#查看表格字段
DESC [table_name];

#修改表格字段
ALTER TABLE table_name ADD column_name datatype; #增加一列
ALTER TABLE table_name DROP COLUMN column_name;  #删除一列
ALTER TABLE table_name CHANGE column_name column_name2 datatype; #将列column_name修改为column_name2 包括类型及属性

#查看表格数据
SELECT * FROM table_name;
# *可以为任意列名,多个列名用逗号连接 *代表全部列 
# * 可以以为函数 比如 avg(column_name) sum(column_name) 
#count(column_name) max(column_name) min(column_name)等等

#去重
SELECT DISTINCT * FROM table_name;

#往表格内插入数据
INSERT INTO table_name VALUES([DATA1],[DATA2],[DATA3],[DATA4]); #数据与表格内的列一一对应

#删除数据
DELETE FROM table_name WHERE condition; 
# eg: DELETE FROM student WHERE id=1 删除student表内id为1的记录;

#修改数据
UPDATE table_name SET column_name = new_value WHERE condition;

  1. 其他技巧
#以组的形式查看
SELECT * FROM table_name GROUP BY column_name;

#以某一列排序 降序/升序
SELECT * FROM table_name ORDER BY column_name DESC/ASC;

#子查询(select 语句的嵌套使用)
select * from table_name where column_name in (select column_name  from table_name where condition)
与python交互
# -*- coding: UTF-8 -*-

import pymysql

# 打开数据库连接
db = pymysql.connect("localhost", "username", "passward", "db_name", charset='utf8' )

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

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

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

print "Database version : %s " % data

# 关闭数据库连接
db.close()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值