梅科尔工作室-MySQL学习笔记
MySQL指令
数据库管理:
查看已有数据库
show databases;
创建数据库
create database 数据库名字 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
删除数据库
drop database 数据库名字;
进入数据库
use 数据库名字;
查看当前数据库中所有的数据表
show tables;
数据表管理:
创建表
create table 表名称(列名称 类型,列名称 类型,列名称 类型, )default chartset=utf8;例子:create table tb1(id int auto_increment primary key, name varchar(16) not null, age int default 3 )default charset=utf8;-- primary ket:主键(不允许为空,不允许重复),一般用于表示当前行的数据的编号-- auto_increment:内部维护自增-- not null:不允许为空、null:允许为空-- default 3:插入数据时设置默认值为3
删除表
drop table 表名称;
查看表结构详细信息
desc 表名称;
数据行操作
新增数据
insert into 表名(属性1,属性2) values(值1,值2);insert into 表名(属性1,属性2) values(值1,值2),(值,值),(值,值); -- 批量插入 行数据
删除数据
delete from 表名;delete from 表名 where 条件;
修改数据
update 表名 set 列=值;update 表名 set 列=值, 列=值;update 表名 set 列=值 where 条件;
查询数据
select * from 表名;select 列名,列名 from 表名 where 条件;
create table tb3(id int not null auto_increment primary key, username varchar(64) not null,password char(64) not null,email varchar(64) not null, age tinyint ,salary decimal(10.2),ctime datetime)default charset=utf8; insert into tb3(name,password,email,age,salary,ctime)values("申晨哲","123","xxx@xx.com",19,1000.99,"2022-02-22 09:29:33"); insert into tb3(name,password,email,age,salary,ctime)values("张三","123","xxx@xx.com",19,1000.99,"2022-02-22 09:29:33"); insert into tb3(name,password,email,age,salary,ctime)values("李四","123","xxx@xx.com",19,1000.99,"2022-02-22 09:29:33"); insert into tb3(name,password,email,age,salary,ctime)values("王五","123","xxx@xx.com",19,1000.99,"2022-02-22 09:29:33"); insert into tb3(name,password,email,age,salary,ctime)values("赵六","123","xxx@xx.com",19,1000.99,"2022-02-22 09:29:33");create table admin(id int not null auto_increment primary key, username varchar(64) not null,password varchar(64) not null,mobile varchar(64) not null )default charset=utf8;
常用数据类型
整数
tinyint
tinyint -- 默认为有符号,-128 ~ 127 tinyint unsigned -- 无符号,0 ~ 255
int
bigint
浮点数
float
double
decimal
decimal(m,d) -- m是数字总位数(负号不算),d是小数点后位数。最多位数 65 = ? + 30 ,存储会四舍五入
字符串
- char 定长字符串:只按固定长度存储(最大为255个字节),数据太长会报错(优点:查询速度更快)
- varchar 变长字符串:数据多长就按多长存储(最大65535字节,/3=21844个汉字)
- text 用于保存变长的大字符串,最多2**16-1=65535个字节。一般用于文章、新闻等长文本
- mediumtext 2**24-1
- longtext 2**32-1
时间
- datetime:YYYY-MM-DD HH:MM:SS
- date:YYYY-MM-DD
利用Python操作数据库
创建数据:
import pymysqlwhile True:user = input("用户名:")if user.upper == 'Q':breakpwd = input("密码:")mobile = input("手机号:")# 1. 连接MySQLconn = pymysql.connect(host="127.0.0.1", port=3306, user='root', passwd="123456", charset='utf8',db='mydb')cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)# 2.1 发送指令cursor.execute("insert into user(username,password,mobile) values('zhangsan','qwe123','16887988')")conn.commit()# 3. 关闭连接cursor.close()conn.close()——————————————————————————————————————————————————————————————————————# 2.2 发送指令sql = "insert into user(username,password,mobile) values(%s,%s,%s)"cursor.execute(sql,[user, pwd, mobile])conn.commit()# 2.3 发送指令sql = "insert into user(username,password,mobile) values(%(n1)s,(n2)%s,(n3)%s)"cursor.execute(sql,{"n1":user, "n2":pwd, "n3":mobile})conn.commit()
查询数据:
# 2. 发送查询指令
cursor.execute("select * from user where id > %s",[2, ])
data_list = cursor.fetchall() // fetchall()获取的是 [字典,字典],无数据是空列表
for row_dict in data_list: // fetchone()只获取符合条件的的第一条数据,是个字典,无数据是None
print(row_dict)
删除数据
# 2. 发送删除数据指令
cursor.execute("delete from user where id = %s",[3, ])
conn.commit()
修改数据
# 2. 发送修改数据指令
cursor.execute("update user set mobile = %s where id = %s",["18888888", 4, ])
conn.commit()
注意:新增、删除、修改数据时,一定要记得conn.commit(),不然数据库没有数据
查询时不需要,但是要fetchall()/fetchone()
对SQL语句不要用Python的字符串格式化进行拼接(会被SQL注入),一定要用 execute + 参数
梅科尔工作室-MySQL学习笔记相关推荐
- 梅科尔工作室-Django学习笔记(二次学习)(3)
本次学习的是如何用django实现前端鸿蒙OS登录 下面介绍一下本次的操作过程. 1.首先创立MySQL数据并将数据库导入到django当中 其中:导入数据库的操作: 2.配置urls 对应新建的pe ...
- 梅科尔工作室-Django学习笔记(二次学习)(1)
学习网址: Django小白入门到实战教程(2021)_哔哩哔哩_bilibili 配置路由urls 创建app:在终端里输入python manage.py startapp web python ...
- 梅科尔工作室-深度学习第五讲 CNN-卷积神经网络
目录 前言 1.计算机视觉 1.1. 计算机视觉分类 2. CNN 3. 卷积层 3.1. 什么是卷积 3.2. 动态卷积操作 4. 池化层 5.激活函数的作用 前言 本文记录梅科尔工作室深度学习培训 ...
- 梅科尔工作室——深度学习第五课
CNN(卷积神经网络:Convolutional neural network) 一.计算机视觉的应用 cnn非常普遍地运用在计算机视觉当中(工作室也涉及了很多小牧,在医疗上更多一点) 二.计算机视觉 ...
- 梅科尔工作室深度学习第五课-CNN
CNN解决了什么问题 在 CNN 出现之前,图像对于人工智能来说是一个难题,有2个原因: 图像需要处理的数据量太大,导致成本很高,效率很低 图像在数字化的过程中很难保留原有的特征,导致图像处理的准确率 ...
- 梅科尔工作室-深度学习-CNN
目录 1.基本概念 2.cnn常见任务 3.cnn组成 3.1.输入层 3.2.卷积层 3.3.激活层 3.4.池化层 3.5.全连接层 4.AI Studio公开项目的展示 1.基本概念 卷积神经网 ...
- 梅科尔工作室-深度学习-SVM
目录 1.svm介绍 1.1.svm概念 1.2.svm与knn的对比 2.svm算法原理 2.1.距离计算 2.2.目标函数 2.3.软间隔优化 2.4.核函数 3.百度飞桨已有公开项目的展示 1. ...
- 梅科尔工作室-深度学习第五节-CNN学习
目录 1.什么是CNN(卷积神经网络) 2.卷积层与池化层 2.1卷积层 2.2池化层 3.卷积神经网络的输入与输出 4.卷积神经网络之层级结构 5.激活函数 6.计算公式 1.什么是CNN(卷积神经 ...
- 梅科尔工作室——深度学习第四课
SVM第一阶段学习 一.SVM与KUN的对比 1.KUN 回顾上一节:kun叫做邻近算法(又叫分类算法),首先要有k值,因为k值决定了虚线圆圈的大小,即以要算的未知值为圆心,k的值为半径,画一个虚线圆 ...
最新文章
- c++17(6)-数学 函数
- 再译《A *路径搜索入门》之四
- Java开发面试高频考点学习笔记(每日更新)
- Bailian1182 POJ1182 食物链【并查集】
- 静态内容负载均衡的具体实现-续《几百元搞定大型网站》
- iOS开发基础 - UIDataDetectorTypes
- vc6.0怎么新建c语言项目
- w ndows7安不上HP1020,惠普1020打印机驱动程序
- 局域网桌面共享会议该如何实现屏幕共享?
- 大一c语言大作业实验报告,大一c语言实验报告
- 苹果电脑上堪称神器的几款软件
- java wmic_强大的命令行工具wmic
- 计算机分盘介质受写入保护,“介质受写入保护”的解决(适用于U盘或移动硬盘)...
- NLP之NLG入门理解
- 测试sd卡读写速度与判断是否是扩容的假货
- Windows10安装Golang环境
- “被骗”的1600万,QQ飞车多久能赚回来?
- vga分屏2个显示器_VGA多分屏聚合器和有趣的问题
- 【字节日常实习-前端凉经】
- vscode配置tpl文件关联html语言