一、数据库基础

表 table:数据是保存在表内,保存在一个表内的数据,应该具有相同的数据格式

行:行用于记录数据

记录:行内的数据

列:列用于规定数据格式

字段:数据的某个列

主键:唯一地标识表中的某一条记录,不能空,不能重复

二、数据库的数据类型

1、数字类型

整数: tinyint、smallint、mediumint、int、bigint

浮点数: float、double、real、decimal

日期和时间: date、time、datetime、timestamp、year

2、字符串类型

字符串: char、varchar

文本: tinytext、text、mediumtext、longtext

3、二进制

(可用来存储图片、音乐等): tinyblob、blob、mediumblob、longblob

三、Python之MySQL数据库操作

1、连接myaql创建新的数据库

import pymysql

# 打开数据库连接(ip/端口/数据库用户名/登录密码/数据库名)

conn = pymysql.connect(host='localhost',port=3306,user='root',passwd='123456')

# 使用 cursor() 方法创建一个游标对象 cursor

cursor = conn.cursor()

# 编写sql语句创建数据库

sql1 = 'CREATE DATABASE test1 DEFAULT CHARACTER SET utf8'

# 执行sql语句

cursor.execute(sql1)

conn.close()

2、创建表

import pymysql

# 打开数据库连接(ip/端口/数据库用户名/登录密码/数据库名)

conn = pymysql.connect(host='localhost',port=3306,user='root',passwd='123456',db = 'test1')

# 使用 cursor() 方法创建一个游标对象 cursor

cursor = conn.cursor()

# 编写sql语句创建表test_student_table

sql2 = 'CREATE TABLE IF NOT EXISTS test_student_table (id VARCHAR(255) NOT NULL,name VARCHAR(255) NOT NULL,age VARCHAR(255) NOT NULL,PRIMARY KEY (id))'

# 执行sql语句

cursor.execute(sql2)

conn.close()

3、往表中插入数据

import pymysql

def get_conn():

conn = pymysql.connect(host='localhost',port=3306,user='root',passwd='123456',db='test1') # db:表示数据库名称

return conn

def insert(sql):

conn = get_conn()

cur = conn.cursor()

result = cur.execute(sql)

print(result)

# commit方法才可以实现数据的插入,是真正将语句提交到数据库执行的方法。

conn.commit()

cur.close()

conn.close()

if __name__ == '__main__':

sql = 'INSERT INTO test_student_table VALUES(1,\'zhang\',12);''

insert(sql)

sql占位符形式实现:

import pymysql

def get_conn():

conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='123456', db='test1')

return conn

def insert(sql, args):

conn = get_conn()

cur = conn.cursor()

result = cur.execute(sql, args)

print(result)

conn.commit()

cur.close()

conn.close()

if __name__ == '__main__':

sql = 'INSERT INTO test_student_table VALUES(%s,%s,%s);'

insert(sql, (2, 'wang', 13))

下面代码均以占位符的形式实现sql语句。

插入多条语句实现:

import pymysql

def get_conn():

conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='123456', db='test1')

return conn

def insert_many(sql, args):

conn = get_conn()

cur = conn.cursor()

result = cur.executemany(query=sql, args=args)

print(result)

conn.commit()

cur.close()

conn.close()

if __name__ == '__main__':

sql = 'insert into test_student_table VALUES (%s,%s,%s)'

args = [(3, 'li', 11), (4, 'sun', 12), (5, 'zhao', 13)]

insert_many(sql=sql, args=args)

4、Python之更新操作

import pymysql

def get_conn():

conn = pymysql.connect(host='localhost',port=3306,user='root',passwd='root',db='test1') # db:表示数据库名称

return conn

def update(sql,args):

conn = get_conn()

cur = conn.cursor()

result = cur.execute(sql,args)

print(result)

conn.commit()

cur.close()

conn.close()

if __name__ == '__main__':

sql = 'UPDATE test_student_table SET NAME=%s WHERE id = %s;'

args = ('zhangsan', 1)

update(sql, args)

5、Python之删除操作

import pymysql

def get_conn():

conn = pymysql.connect(host='localhost',port=3306,user='root',passwd='root',db='test1') # db:表示数据库名称

return conn

def delete(sql,args):

conn = get_conn()

cur = conn.cursor()

result = cur.execute(sql,args)

print(result)

conn.commit()

cur.close()

conn.close()

if __name__ == '__main__':

sql = 'DELETE FROM test_student_table WHERE id = %s;'

args = (1,) # 单个元素的tuple写法

delete(sql,args)

6、Python之查询操作

import pymysql

def get_conn():

conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='root', db='test1')

return conn

def query(sql,args):

conn = get_conn()

cur = conn.cursor()

cur.execute(sql,args)

results = cur.fetchall()

print(type(results)) # 返回 tuple元组类型

for row in results:

print(row)

id = row[0]

name = row[1]

age = row[2]

print('id: ' + str(id) + ' name: ' + name + ' age: ' + str(age))

pass

conn.commit()

cur.close()

conn.close()

if __name__ == '__main__':

sql = 'SELECT * FROM test_student_table;'

query(sql,None)

输出:

(2, 'wang', 13)

id: 2 name: wang age: 13

(3, 'li', 11)

id: 3 name: li age: 11

(4, 'sun', 12)

id: 4 name: sun age: 12

(5, 'zhao', 13)

id: 5 name: zhao age: 13

四、总结

1、创建数据库

create database 数据库名 charset=utf8;

2、删除数据库

drop database 数据库名;

3、切换数据库

use 数据库名;

4、查看当前选择的数据库

select database();

5、查看目前所有的数据库

show databases;

五、表操作

1、查看当前数据库中所有表

show tables;

2、创建表

create table 表名(列及类型);

列名:id

类型:int unsigned

约束1:not null

约束2:primary key

约束3:auto_increment

列的格式:列的名称 类型 约束

例如:

create table hero(h_id int auto_increment primary key,h_name varchar(10) not null);

3、修改表

语法:

alter table 表名 add(添加)|modify(修改)|drop(删除) 列名 类型;

添加列:h_skill 为字符类型

alter table hero add h_skill varchar(10);

修改列:h_skill修改本属性不能为空

alter table hero modify h_skill varchar(10) not null;

4、删除表

drop table 表名;

5、查看表结构

desc 表名;

6、更改表名称

rename table 原表名 to 新表名;

7、查看边的创建语句

show create table 表名

六、数据操作

1、增加数据

insert into 表名(列1,...) values(值1,...);

例如:

insert into hero(h_id,h_name,h_skill) values(1,'韩信','裂天爆斩');

主键列是自动增长,但是在全列插入时需要占位,通常使用0,插入成功后以实际数据为准

2、简单查询数据

select * from 表名

3、修改数据

update 表名 set 列1=值1,... where 条件

4、删除数据

delete from 表名 where 条件

python增删改查mysql_python之mysql的增删改查相关推荐

  1. python增删改查mysql_Python操作MySQL(增删改查)

    Python操作MySQL数据库方法.方式总结 import pandas as pd import pymysql import sqlalchemy from sqlalchemy import ...

  2. python操作Oracle、PostgreSQL,MySql数据库增删改查

    python操作Oracle.PostgreSQL,MySql数据库增删改查,工作中可运行案例,直接上代码,供大家参考. # _*_ coding:UTF-8 _*_#import ServerCon ...

  3. php对mysql进行增删改查,php对mysql进行增删改查

    php对mysql进行增删改查 /* 用户名 : MYSQL_USER 密 码 : MYSQL_PASS 域 名 : MYSQL_HOST 端 口 : MYSQL_PORT 数据库名 : MYSQL_ ...

  4. mfc连接mysql增删改查_java实现mysql数据库增删改查

    1.连接数据库: import java.sql.Connection; import java.sql.DriverManager; public class DBConnection { stat ...

  5. nodejs mysql 增删改查_nodejs操作mysql实现增删改查的实例

    首先需要安装mysql模块:npm install mysql --save 然后创建user数据表: 接着使用nodejs对数据库进行增删改查: .[活动]2017 CSDN博客专栏评选 [评论送书 ...

  6. mysql自增id原理_《MySQL自增ID》告诉你不为人知的“秘密”......

    原标题:<MySQL自增ID>告诉你不为人知的"秘密"...... 作者:Sunshine Koo 1.概述 " MySQL数据库是最常使用的数据库之一,我们 ...

  7. java连接mysql数据库增删改查_java连接mysql数据库增删改查操作记录

    1. 连接数据库.得到数据库连接变量 注意连接数据库的时候 (1)打开DB Browser 新建一个Database Driver,注意加入Driver JARs的时候加入的包,我的是mysql-co ...

  8. python在线包安装mysql_python安装mysql的依赖包mysql-python操作

    一般情况下,使用pip命令安装即可: [root@dthost27 ~]# pip install mysql-python 但是在实际工作环境中,往往会安装失败,这是因为系统缺少mysql的相关依赖 ...

  9. sqlalchemy 对 mysql 进行增删改查

    我其实还是喜欢原生的 sql 语句,sqlalchemy是对pymysql的封装,用的时候经常出各种错误.但是orm操作较简单,可以实现外键的关联操作. 视频 https://www.bilibili ...

最新文章

  1. 判断一个string是否可以为数字
  2. android学习从模仿开始 —— 模仿UI 导航帖
  3. 中兴执行副总裁熊辉回母校谈目标:相信总有路可走
  4. java语言模拟_Java语言模拟操作系统.doc
  5. 程序员面试金典 - 面试题 01.05. 一次编辑(编辑距离,DP)
  6. android8 通知呼吸灯_正在消失的功能,为什么越来越多的手机没有呼吸灯?你知道原因吗...
  7. OpenPose 升级,CMU提出首个单网络全人体姿态估计网络,速度大幅提高
  8. Net窗体程序设计总结
  9. 使用hessian+protocol buffer+easyUI综合案例--登陆
  10. html标签--使用
  11. 游戏开发中一些常用的数学知识
  12. 大厂工作3年,我决定把大学到现在7年所有珍藏的书籍都分享一遍
  13. 全能扫描王(一款识别率超高的OCR识别APP)
  14. 离散作业--求左陪集
  15. Win11系统一些功能修改并不令人满意,盘点不尽人意之处
  16. 如何删除【我的电脑】之【设备和驱动器】中的 爱奇艺、百度网盘或者WPS网盘图标
  17. 英特尔Haswell处理器已出货 预计6月推出
  18. oracle avg() 绝对平均值
  19. 为什么outlook不能改成HTML格式,如何解决Outlook 2016中的HTML格式问题
  20. 在BIOS中设置U盘启动

热门文章

  1. AI工程师应聘要具备哪些能力?
  2. 解决ECharts中使用tooltip时鼠标移入抖动问题
  3. 传统语音识别介绍【五】—— 单音素和三音素
  4. 创新物联网方案引导生活更美好
  5. 计算机网络丢包排查,ping命令图文教程,电脑测试网络丢包延迟,检测网络故障通不通...
  6. 小米OJ12月常规赛“数数字”题目详解与SG函数SG定理个人理解
  7. PyTorch随机生成一个布尔型张量
  8. 女性吃什么食物会导致不孕?
  9. 阿里云部署vmware报错
  10. 飞桨火力全开,重磅上线3D模型:PointNet++、PointRCNN!