大家好,又见面了,我是你们的朋友全栈君。
数据库的管理 创建数据库: create database XXX_数据库 charset=‘utf8’; 删除数据库: drop database XXX_数据库;
显示所有的数据库: show databases;
python 代码操作如下:
# 导包操作
import pymysql
# MySQL的增删改查操作# 连接MySQL服务器
db = pymysql.Connect(
user="root",
host="localhost",
port=3306,
passwd="自定义密码",
charset="utf8"
)
# 创建游标对象cur = db.cursor()
# 发送指令
cur.execute("create database num3_db charset='utf8'")
cur.execute("show databases")
cur.execute("create database num2_db charset='utf8'")
cur.execute("show databases")
cur.execute("drop database num2_db")
cur.execute("show databases")
# 接受MySQL的返回的数据result = cur.fetchall()print(result)
# 编写增删改查(需要commit)sql = "create database book1_db charset='utf8'"
# 使用游标进行操作数据库cur.execute(sql)
# 提交的操作
cur.commit()
# 关闭游标
cur.close()
# 关闭数据连接
db.close()
数据表的管理
创建表: cur.execute(“use books_db”) sql = “create table grade1(” \ “id int primary key,” \ # ID类型为int,为主键 “name varchar(16) not null,” \ #name 类型为varchar,且不为空 “email varchar(32) not null,” \ #email 类型为varchar32,且不为空 “age int default 3)”
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tx8eoFfI-1646491576271)(en-resource://database/1564:1)] 主键的好处:不重复,不允许为空 结果查看: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3qNVHURV-1646491576272)(en-resource://database/1566:1)] 删除表: drop table 表名; 清空数据,不删除表: delete from 表名或者trunkcate table 表名 增加列: sql_add_line = “alter table grade1 add qq_num varchar(16) null;” 删除列: sql_del_line = “alter table grade1 drop column qq_num(列名)” 修改列的类型: sql_mody_type = “alter table grade1 modify column qq_num varchar(64) not null(修改后的类型)” 修改列的类型+名称: sql_mody_type = “alter table grade1 change qq_num(原列) QQ_num(新的列) varchar(16) not null(列的新的类型)” 新增数据: insert into 表名(列1,列2)values(值1,值2); 删除指定的数据: delate from 表名 where 条件; 修改全部列的数据: update 表名 set 列=“值”# 修改某一列的全部值 update 表名 set 列=“值” where 条件(与或非连接) #修改某一行的值 查询数据: 查询所有列:select * from 表名; 查询指定的列:select id,name,email from 表名; 查询指定的列+过滤条件:select id,name,email from 表名 过滤条件;
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/168439.html原文链接:https://javaforall.cn