python MySQL学习

免费

MySQL Community Server 社区版本 免费 但是MySQL 不提供官方技术支持

MySQL Cluster 集群版 开源免费 可将几个 MySQL Server 封装乘一个Server

收费

MySQL Enterprise Edition

商业版 该版本是收费的 可以试用30天 官方提供技术支持

MySQL Cluster CGE

高级集群版,需付费。

mac mysql 下载地址

MySQL :: Download MySQL Community Server

下载x86 一路安装

配置环境变量

export PATH=$PATH:/usr/local/mysql/bin
export PATH=$PATH:/usr/local/mysql/support-files

我的环境变量是 ~/.zshrc       有其他机器可能是 ~/.bash_profile

MySQL服务的启停和状态的查看

开启MySQL服务(需要输入电脑密码,不是数据库登录密码)
sudo mysql.server start停止MySQL服务
sudo mysql.server stop重启MySQL服务
sudo mysql.server restart查看MySQL服务状态
sudo mysql.server status

Mac MySql - 查看以及修改编码格式 - 掘金 

登录mysql 

mysql -uroot -p

mysql可视化工具

Download | DBeaver Community

安装

安装完后新建数据库链接

选择mysql

填写密码其他保持默认

sql语法

sql 语法大小写不敏感

单行注释 #  或者--(空格)

多行注释 /**/

以分号结尾;

DDL

#显示所有库
show 
--注释
#注释
databases;#使用库
use sys;#查看库
SELECT DATABASE();#创建数据库
CREATE database test charset utf8;
#显示数据库
show databases;
#删除数据库
DROP  database test;

创建表

use mysql;
#显示当前库的所有表
show tables;
#创建表
CREATE  table student(id int,name varchar(10),age int);
#删除表
DROP table student;

DML 对数据操作

#显示当前库的所有表
show tables;
#创建表
CREATE  table student(id int,name varchar(10),age int);
#删除表
DROP table student;*//*show databases;
CREATE database test charset utf8;
show databases;
use test;
SELECT DATABASE();
show tables;*/
CREATE table student(id int, name varchar(10), age int);
show tables;
#插入数据 INSERT  INTO 表名  [列1,列2,列三,...列n] values[值1,值2,...值n],[值1,值2,...值n][值1,值2,...值n]
INSERT  INTO  student (id) values(1),(2),(3);#sql 值支持单引号
INSERT INTO  student (id,name,age)values(4,'赵天霸',22);
#输入多条
INSERT INTO  student (id,name,age)values(5,'赵地霸',22),(6,'赵大霸',22);
#省略前面的键全部赋值
INSERT INTO  student values(7,'赵二霸',22),(8,'赵三霸',22);#删除 DELETE FROM 表名 [where 判断条件 = > < >= <= !=] 无条件则删除整张表数据
DELETE FROM student WHERE id >= 5 && id < 8;
DELETE FROM  student  WHERE id = 1;
#更新 UPDATE 表名  SET 列 = 值 [where 条件判断]
UPDATE student SET  name = '张大仙' where id = 2;
#不带where 条件 修改的是整张表的数据
UPDATE student  SET age = 18;

数据查询

#查询 SELECT 字段列表|*from 表 where 条件判断;
#查询对应的 列 
SELECT id,name from student;
#查询所有
SELECT * FROM student;
#带条件查询
SELECT *FROM student WHERE age = 22;

DQL


/*use mysql;
-- 
#显示当前库的所有表
show tables;
#创建表
CREATE  table student(id int,name varchar(10),age int);
#删除表
DROP table student;*//*show databases;
CREATE database test charset utf8;
show databases;
use test;
SELECT DATABASE();
show tables;*/
DROP table student;
CREATE table student(id int, name varchar(10), age int,sex varchar(5));
show tables;
#插入数据 INSERT  INTO 表名  [列1,列2,列三,...列n] values[值1,值2,...值n],[值1,值2,...值n][值1,值2,...值n]
INSERT  INTO  student (id,name,age,sex) values(1,'李诗诗',18,'女'),(1,'李容容',18,'女'),(1,'李云',20,'女');#sql 值支持单引号
INSERT INTO  student (id,name,age,sex)values(4,'赵天霸',22,'男');
#输入多条
INSERT INTO  student (id,name,age,sex)values(5,'赵地霸',22,'男'),(6,'赵大霸',22,'男');
#省略前面的键全部赋值
INSERT INTO  student values(7,'赵二霸',20,'男'),(8,'赵三霸',18,'男');#删除 DELETE FROM 表名 [where 判断条件 = > < >= <= !=] 无条件则删除整张表数据
DELETE FROM student WHERE id >= 5 && id < 8;
DELETE FROM  student  WHERE id = 1;
#更新 UPDATE 表名  SET 列 = 值 [where 条件判断]
UPDATE student SET  name = '张大仙' where id = 2;
#不带where 条件 修改的是整张表的数据
UPDATE student  SET age = 18;#查询 SELECT 字段列表|*from 表 where 条件判断;
#查询对应的 列 
SELECT id,name from student;
#查询所有
SELECT * FROM student;
#带条件查询
SELECT *FROM student WHERE age = 22;#聚合函数
SELECT sex, AVG(age),SUM(age),MIN(age),MAX(age), COUNT(*)  FROM student GROUP BY sex;
排序

/*use mysql;
-- 
#显示当前库的所有表
show tables;
#创建表
CREATE  table student(id int,name varchar(10),age int);
#删除表
DROP table student;*//*show databases;
CREATE database test charset utf8;
show databases;
use test;
SELECT DATABASE();
show tables;*/
DROP table student;
CREATE table student(id int, name varchar(10), age int,sex varchar(5));
show tables;
#插入数据 INSERT  INTO 表名  [列1,列2,列三,...列n] values[值1,值2,...值n],[值1,值2,...值n][值1,值2,...值n]
INSERT  INTO  student (id,name,age,sex) values(1,'李诗诗',18,'女'),(1,'李容容',18,'女'),(1,'李云',20,'女');#sql 值支持单引号
INSERT INTO  student (id,name,age,sex)values(4,'赵天霸',22,'男');
#输入多条
INSERT INTO  student (id,name,age,sex)values(5,'赵地霸',22,'男'),(6,'赵大霸',22,'男');
#省略前面的键全部赋值
INSERT INTO  student values(7,'赵二霸',20,'男'),(8,'赵三霸',18,'男');#删除 DELETE FROM 表名 [where 判断条件 = > < >= <= !=] 无条件则删除整张表数据
DELETE FROM student WHERE id >= 5 && id < 8;
DELETE FROM  student  WHERE id = 1;
#更新 UPDATE 表名  SET 列 = 值 [where 条件判断]
UPDATE student SET  name = '张大仙' where id = 2;
#不带where 条件 修改的是整张表的数据
UPDATE student  SET age = 18;#查询 SELECT 字段列表|*from 表 where 条件判断;
#查询对应的 列 
SELECT id,name from student;
#查询所有
SELECT * FROM student;
#带条件查询
SELECT *FROM student WHERE age = 22;#聚合函数
SELECT sex, AVG(age),SUM(age),MIN(age),MAX(age), COUNT(*)  FROM student GROUP BY sex;SELECT *FROM student WHERE age > 20 ORDER BY age ASC ;
#取三条
SELECT  *FROM student limit 3;
#从第三条开始取2条
SELECT  *FROM student limit 3,2;SELECT sex, AVG(age),SUM(age),MIN(age),MAX(age), COUNT(*)  FROM student WHERE age  = '18' GROUP BY sex ORDER  BY age  ASC LIMIT  1 ;

python 链接mysql

(1045, "Access denied for user 'root'@'localhost' (using password: YES)")
检查下用户名和密码有没有输入正确
'cryptography' package is required for sha256_password or caching_sha2_password auth methods

安装cryptography

pip install cryptography 
from pymysql import Connectionconnect = Connection(host='localhost',port=3306,user='root',password='xxxxx')
#获取游标对象
cursor = connect.cursor()
#选择数据库 就是执行sql的use 数据库
connect.select_db("test")
#cursor.execute("create table test_people(id int, name varchar(10), age int,sex varchar(5))")
cursor.execute("select *from student")
result = cursor.fetchall()
print(f"type = {type(result)} result = {result}")
for r in result:print(r)print(connect.get_server_info())
connect.close()

插入数据
from pymysql import Connectionconnect = Connection(host='localhost',port=3306,user='root',password='12345678',autocommit=True)
#获取游标对象
cursor = connect.cursor()
#选择数据库 就是执行sql的use 数据库
connect.select_db("test")
#cursor.execute("create table test_people(id int, name varchar(10), age int,sex varchar(5))")
cursor.execute("INSERT INTO student values(11,'赵飞燕',17,'女')")
#若connection 没有设置自动提交 这里 插入的时候需要提交一下 
#connect.commit()cursor.execute("select *from student")
result = cursor.fetchall()
print(f"type = {type(result)} result = {result}")
for r in result:print(r)print(connect.get_server_info())
connect.close()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/619328.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件测试|如何在Windows电脑中安装多个版本的Python?

简介 安装多个版本的Python在Windows电脑上是一项非常常见的任务&#xff0c;特别是当你需要在不同的Python项目中使用不同版本的Python时。下面是一个详细的步骤指南&#xff0c;帮助你在Windows上安装多个Python版本。 步骤1&#xff1a;下载Python安装程序 访问Python官方…

【Verilog】期末复习——分别画出下面两个程序综合后的电路图/reg型数据和wire型数据的区别

系列文章 数值&#xff08;整数&#xff0c;实数&#xff0c;字符串&#xff09;与数据类型&#xff08;wire、reg、mem、parameter&#xff09; 运算符 数据流建模 行为级建模 结构化建模 组合电路的设计和时序电路的设计 有限状态机的定义和分类 期末复习——数字逻辑电路分…

平衡小车——编码器

学习目标 了解编码器的构成理解编码器采样原理掌握编码器获取转速信息学习内容 编码器组成 左侧的减速齿轮中间的电机部分右侧的电路板减速齿轮 将电机转速通过齿轮按照一定比例进行降速。 电路板 电路板中,包含了一个圆形磁体,还有两个霍尔传感器。 电机转动时,圆形的磁…

iOS Universal Links(通用链接)详细教程

一&#xff1a;Universal Links是用来做什么的&#xff1f; iOS9.0推出的用于应用之间跳转的一种机&#xff0c; 通过一个https的链接启动app。如果手机有安装需要启动的app&#xff0c;可实现无缝跳转。如果没有安装&#xff0c;会打开网页。 实现场景&#xff1a;微信链接无…

如何开发测试框架?

基本概念 库 英文单词叫Library&#xff0c;库是由代码集合成的一个产品&#xff0c;供程序员调用。面向对象的代码组织形成的库叫类库&#xff0c;面向过程的代码组织形成的库叫函数库。 框架 英文单词叫Framework&#xff0c;框架是为解决一个或一类问题而开发的产品&#x…

视频剪辑达人分享:批量减片时时长并调整播放倍速的技巧

在视频剪辑中&#xff0c;经常要对多个视频片段进行时长调整和播放倍速的修改。如果一个个手动操作&#xff0c;不仅效率低下&#xff0c;还容易出错。如何快速批量处理这些片段呢&#xff1f;现在一起来看看云炫AI智剪批量减片时长并调整播放的具体步骤。 原视频和剪辑后的视…

Linux系统SSH远程管理服务概述

目录 一.SSH协议 1.定义 2.优点 &#xff08;1&#xff09;加密 &#xff08;2&#xff09;压缩 3.SSH的客户端与服务端 &#xff08;1&#xff09;客户端 &#xff08;2&#xff09;服务端 4.原理 5.实验&#xff1a;使用ssh远程登录 二.OpenSSH服务器 1.概念 2.…

CSS3动画效果详解

CSS3动画 在CSS3中&#xff0c;animation属性用于实现元素的动画。 animation属性跟transition属性在功能实现上是非常相似的&#xff0c;都是通过改变元素的属性值来实现动画效果。但是&#xff0c;这两者实际上有着本质的区别 对于transition属性来说&#xff0c;它只能将…

PADS 改变图纸和图页边界大小

PADS 改变图纸和图页边界大小 有时候画一画原理图发现画布不够用了&#xff0c;可改变图纸大小&#xff0c;对应的改变图页边界 若图页边界怎么选择都改变不了&#xff0c;可将途中图页边界删除&#xff0c;重新加载 选择对应的图页边距就好啦 分类: PADS

重学Java 4 进制转换和位运算

天赋不好好使用的话&#xff0c;可是会被收回的哦 ——24.1.13 一、进制转换 1.常用的进制 2.十进制和二进制之间的转换 1.十进制转二进制 辗转相除法——循环除以2&#xff0c;取余数&#xff0c;除到商为0为止&#xff0c;除完后&#xff0c;由下往上&#xff0c;得出换算后…

虚拟主机 如何上传大于100M的文件 php网站程序

问题 虚拟主机上传文件大小限制100m&#xff0c; 有时会遇到非常大的文件上传&#xff0c;上传过程中耗时非常久&#xff0c; 可能服务器的限制设置了上传文件尺寸&#xff0c;返回“413 request entity too large” 整体逻辑 前端&#xff1a;上传文件时&#xff0c;进行文…

C语言——内存函数【memcpy,memmove,memset,memcmp】

&#x1f4dd;前言&#xff1a; 在之前的文章C语言——字符函数和字符串函数&#xff08;一&#xff09;中我们学习过strcpy和strcat等用来实现字符串赋值和追加的函数&#xff0c;那么除了字符内容&#xff0c;其他的数据&#xff08;例如整型&#xff09;能否被复制或者移动呢…

Docker 镜像

1、联合文件系统 UnionFS&#xff08;联合文件系统)&#xff1a;Union文件系统〈UnionFS)是一种分层、轻量级并且高性能的文件系统&#xff0c;它支持对文件系统的修改作为一次提交来一层层的叠加&#xff0c;同时可以将不同目录挂载到同一个虚拟文件系统下(unite several dir…

CCF认证+蓝桥杯习题训练

贪心 *上取整公式* *代码展示* #include <iostream> #include <cstring> #include <algorithm>using namespace std;const int N 1e5 10;typedef long long LL;int v[N] , a[N];int main() {int n , d;cin >> n >> d;for(int i 1 ; i < n…

函数式编程 - 组合compose的使用方法

函数式编程中有一个比较重要的概念就是函数组合&#xff08;compose&#xff09;,组合多个函数&#xff0c;同时返回一个新的函数。调用时&#xff0c;组合函数按顺序从右向左执行。右边函数调用后&#xff0c;返回的结果&#xff0c;作为左边函数的参数传入&#xff0c;严格保…

工业级安卓PDA超高频读写器手持掌上电脑,RFID电子标签读写器

掌上电脑&#xff0c;又称为PDA。工业级PDA的特点就是坚固&#xff0c;耐用&#xff0c;可以用在很多环境比较恶劣的地方。 随着技术的不断发展&#xff0c;加快了数字化发展趋势&#xff0c;RFID技术就是RFID射频识别及技术&#xff0c;作为一种新兴的非接触式的自动识别技术&…

python处理目录下文本文件去除空格和空行

一&#xff1a;实现思路&#xff1a; 要想实现去除某个目录下所有txt文件的空格&#xff0c;需要循环遍历一个目录下的所有文件&#xff0c; 获取文件的每行数据去除空格以后&#xff0c;重新保存数据到当前当前文件中。 处理空格,我们使用正则&#xff0c;这样可以去除字符串…

Java并查集设计以及路径压缩实现

Java全能学习面试指南&#xff1a;https://javaxiaobear.cn 并查集是一种树型的数据结构 &#xff0c;并查集可以高效地进行如下操作&#xff1a; 查询元素p和元素q是否属于同一组合并元素p和元素q所在的组 1、并查集的结构 并查集也是一种树型结构&#xff0c;但这棵树跟我们之…

uniapp 如何使用echarts 以及解决tooltip自定义不生效问题

使用的是echarts-for-wx插件&#xff1b; 正常写法案例&#xff1a;给tooltip数值加个% <template><view><uni-ec-canvas class"uni-ec-canvas"id"uni-ec-canvas"ref"canvas"canvas-id"uni-ec-canvas":ec"ec&quo…

【数据库】sql优化有哪些?从query层面和数据库层面分析

目录 归纳sql本身的优化数据库层面的优化 归纳 这类型问题可以称为&#xff1a;Query Optimization&#xff0c;从清华AI4DB的paper list中&#xff0c;该类问题大致可以分为&#xff1a; Query RewriterCardinality EstimationCost EstimationPlan Optimization 从中文的角…