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.hqwc.cn/news/344448.html

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

相关文章

Unable to start embedded Tomcat Nacos启动报错

Nacos报错解决 报错信息&#xff1a;Unable to start embedded Tomcat 无法加载内置的tomcat。 无需重新配置JDK&#xff0c;轻松解决 Windows 系统为例 startup.cmd 操作步骤如下&#xff1a; 在nacos解压后的文件中&#xff0c;进入bin目录下如图1所示&#xff1a; 在红框中…

IDEA—初始化配置

注&#xff1a;以下红框圈的部分&#xff0c;均为已设置好的 外观与行为 编辑器 高级设置 按两次 shift 弹出提示问题解决

分块矩阵的定义、计算

目录 一、定义 二、分块矩阵的加减乘法 三、考点 一、定义 分块&#xff0c;顾名思义&#xff0c;将整个矩阵分成几部分&#xff0c;如下图所示 二、分块矩阵的加减乘法 三、考点 分块矩阵的考点不多&#xff0c;一般来说&#xff0c;有一种&#xff1a; 求分块矩阵的转置…

【qt】opencv导入pro

我的sdk0文件夹在opencv003项目下&#xff0c;使用opencv451 INCLUDEPATH $$PWD/sdk0/opencv/includeCONFIG(release, debug|release) {LIBS -L$$PWD/sdk0/opencv/lib/ -lopencv_world451opencv.files $$PWD/sdk0/opencv/bin/opencv_world451.dllopencv.path $$OUT_PWD/Re…

【Oracle】Oracle编程PLSQL

Oracle编程 一、PL/SQL 1、PL/SQL概述 PL/SQL&#xff08;Procedure Language/SQL&#xff09;是 Oracle 对 sql 语言的过程化扩展&#xff0c;使 SQL 语言具有过程处理能力。 基本语法结构 [declare -- 声明变量 ]begin-- 代码逻辑 [exception-- 异常处理 ]end;2、变量 …

Java面试之虚拟机

1、前言 本篇的面试题基于网络整理&#xff0c;和自己编辑。在不断的完善补充哦。 2、什么是虚拟机&#xff1f; Java 虚拟机&#xff0c;是一个可以执行 Java 字节码的虚拟机进程。Java 源文件被编译成能被 Java 虚拟机执行的字节码文件( .class )。 Java 被设计成允许应用程…

编译和链接(1)

目录 1. 程序的翻译环境和执行环境 2. 详解编译链接 2.1 翻译环境 2.2 编译本身也分为几个阶段&#xff1a; 2.3 运行环境 3. 预处理详解 3.1 预定义符号 3.2 #define 3.2.1 #define 定义标识符 3.2.2 #define 定义宏 3.2.3 #define 替换规则 3.2.4 #和## 1. 程序的翻译环境和执…

怎么做手机App测试?app测试详细流程和方法介绍!

1、手机APP测试怎么做&#xff1f; 手机APP测试&#xff0c;主要针对的是android和ios两大主流操作系统&#xff0c;主要考虑的就是功能性、兼容性、稳定性、易用性&#xff08;也就是人机交互&#xff09;、性能。 手机APP测试前的准备&#xff1a; 1.使用同类型的产品&…

多语言生成式语言模型用于零样本跨语言事件论证提取(ACL2023)

1、写作动机&#xff1a; 经过预训练的生成式语言模型更好地捕捉实体之间的结构和依赖关系&#xff0c;因为模板提供了额外的声明性信息。先前工作中模板的设计是依赖于语言的&#xff0c;这使得很难将其扩展到零样本跨语言转移设置。 2、主要贡献&#xff1a; 作者提出了一…

STM32 定时器输入捕获1——初始化配置

当想检测高电平或低电平的持续时间的时候&#xff0c;就可以使用定时器输入捕获。例如示波器就是用到这个功能。这里就讲解一下定时器到底是如何输入捕获的&#xff1a; 由上图我们可以知道&#xff0c;周期 是每次连续的上升沿的时间差&#xff08;例如&#xff1a;T第二个方波…

数据分析基础

数据运营的概念及意义 数据分析的三个维度 数据总览的作用及提升方法 数据总览的作用及提升方法 数据总览的作用及提升方法小结 影响作品数据的关键因素 影响作品数据的关键因素小结 用户数据的意义与作用 用户数据分析的方法与操作 用户数据分析的方法与操作小结 数据运营小结…

最新AI绘画Midjourney绘画提示词Prompt大全

一、Midjourney绘画工具 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭…