前言:mysql数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关MySQL是一个开源免费的关系型数据库管系型数据库管理系统,在 WEB 应用方面ySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理体积小且开放源代码等优点。系统应用软件之一,具有成本低、速度快

1 安装

命令行中输入Mysql -uroot -p,回车,输入你之前设置的密码,回车,出现Mysql的版本信息即连接成功

1.2 基本操作

;允许连接失败的个数
max connect errors=10;
;服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
;创建新表时将使用的默认存储引擎
default-storage-engine-INNODB
;默认使用"mysql native_password"插件认证,mysql native _passworddefault authentication plugin=mysgl native password[mysql]
;设置mysq1网络通信的默认字符集default-character-set=utf8mb4[client]
;设置mysq1客户端连接服务端时默认使用的端口port=3306
;设置mysg1客户端的默认字符集
default-character-set=utf8mb4初始化数据库
重新打开一个cmd黑窗口,输入以下命令,让数据库完成初始化操作。
mysqld --initialize--console

1.3 SQL规范

1,在数据库管理系统中,SQL语句关键字不区分大小写(但建议用大写),参数区分大小写。建议命令大写,数据库名、数据表名、字段名统一小写,如数据库名、数据表名、字段名与关键字同名,使用反引号圈起来,避免冲突。

2,SQL语句可单行或多行书写,默认以英文分号(;)结尾,关键词不能跨多行或简写。

3,字符串跟日期类型的值都要以 单引号括起来,单词之间需要使用半角的空格隔开。

4,用空格和缩进来提高SQL语句的可读性。

SELECT *FROM table_name
WHERE name="moluo";
  • 注释

注释
第一种:
-- 单行注释
第二种:/*
多行注释*/
第三种:
# mysql支持单行注释
  • 常见指令

  • 数据库操作

--1.创建数据库(在磁盘上创建一个对应的文件夹)
create database [if not exists] db name [character set xxx];
--2.查看数据库
show databases;--查看所有数据库
SHOW DATABASESLIKE'$test名';--查看名字中包含 test 的数据库
show create database db name;-- 查看数据库的创建方式
--3.修改数据库
alter database db name[character set xxx]
--4.删除数据库
drop database[if exists]db name;
--5.使用数据库
use db name;--切换数据库 注意:进入到某个数据库后没办法再退回之前状态,但可以通过use进行切换select database();--查看当前使用的数据库
  • 数据表操作

数据表就相当于存储数据的特殊文件,数据表中的一条记录就相当于普通文件的一行内容。

moluo,True,18,2000,广东,计算机科学与技术,python开发

xiaohong,False,17,2001,广西,舞蹈学,音乐老师

与普通文件不同的是,数据表是二维的表格结构

(1)创建数据表

数据表就相当于文件,文件有文件名,自然地,数据表也要有表名。同样道理,数据表中的一条记录就相当于文件的一行内容。只是不同的是,数据表需要定义表头(上图中的首行),称为表的字段名。而且因为数据库的存储数据更加科学、严谨,所以需要创建表时要给每一个字段设置数据类型以及字段约束(完整性约条件)。

1,上面SQL语句中,小括号中的定义字段语句后面必须以英文逗号结尾,而最后一个字段的定义语句不能有英文逗号出现否则报错。2,在同一张数据表中,字段名是不能相同,否则报错!

3,创建数据表的SQL语句中,存储空间和字段约束是选填的,而字段名和数据类型则是必须填写的。

(2)查看数据表
查看所有数据表
列出当前数据库中所有的数据表,语法:
show tables;
查看表结构
以表格形式列出当前数据表的结构信息。语法:
-- 方式1:简单查看
describe 表名;
desc 表名;  --desc是describe的缩写
--方式2:详细查看
describe 表名;
desc 表名;
查看建表语句
show createtable 表名 \G;
(3)删除数据表
删除表结构,并把数据一并删除,使用需谨慎,强烈建议先备份后删除,或者直接改表名来代替删除操作。
drop table 表名;
重置表信息
保留数据表结构,但是把数据表存储的数据以及数据表的状态回滚,相当于删除原表,并新建一张一模一样的空数据表。
TRUNCATE table 表名:
  • 表记录操作

【1】添加记录

INSERT 语句有两种语法形式,分别是INSERT...VALUES 语句和 INSERT...SET 语句

【2】查询记录
limit:记录条数限制
SELECT emp limit 1
SELECT* from emp limit 2,5; --跳过前两条显示接下来的五条纪录
SELECT*from emp limit 2,2
  • distinct:查询去重

SELECT distinct salary from emp order by salary
【3】更新记录
UPDATE<表名>SET字段1-值1,字段2-值2..][WHERE 子句]
【4】删除记录
DELETE FROM表名>[WHERE子][ORDERBY子][LIMIT子]
<表名>:指定要删除数据的表名。
ORDER BY 子句:可选项。表示删除时,表中各行将按照子句中指定的顺序进行删除。
WHERE 子句:可选项。表示为删除操作限定删除条件,若省略该子句,则代表删除该表中的所有行。
LIMIT 子句:可选项。用于告知服务器在控制命令被返回到客户端前被删除行的最大值。
  • 关联表:一对多的表关系

一对多关系为关系数据库中两个表之间的一种关系,该关系中第一个表中的单个行可以与第二个表中的一个或多个行相关,但第二个表中的一个行只可以与第一个表中的一个行相关

CREATE TABLE book
id INT PRIMARY KEY AUTO INCREMENT
title VARCHAR(32)
price DOUBLE(5,2),
Pub id INT NOT NULL
ENGINE-INNODB CHARSETut8:
--出版社表
CREATE TABLE publisher(
id INT PRIMARY KEY AUTO INCREMENT
name VARCHAR(32)
emai1 VARCHAR(32)
addr VARCHAR(32)
)ENGINE=INNODB CHARSETutf8;
--插入数据
INSERT INTo book(title,price,pub id) VALUES
('西游记',15,1),
('三国演义',45,2),
('红楼梦',66,3),
('水浒传',21,2),
('红与黑',67,3),
('乱世佳人',44,6),
('飘',56,1),
('放风筝的人',78,3);-- 子查询
-- 查询水浒传的出版社的名称和邮箱
select pub_id from book where title="水浒传"
select name,email from publisher where id=2
  • Python操作MySQL

import pymysql
#打开数据库连接
db = pymysql.connect(host='localhost',user='root', passwd='123456',port=3306)
print("连接成功!")
#使用 cursor()方法创建一个游标对象
cursor = db.cursor()
#使用 execute()方法执行 SQL 查询
cursor.execute("SELECT VERSION()")
#使用 fetchone()方法获取单条数据。
data =cursor.fetchone()
print("Database version",data)
#关闭数据库连接
db.close()
  • Python操作MySQL的类版本

import pymysql
import cryptographyclass Mysql(object):# 类变量-----类空间name = "yuan"# 实例空间def __init__(self):# 打开数据库连接self.db = pymysql.connect(host='localhost', user='root', passwd='12345', port=3306, database="mysql111")print("连接成功!")# 使用 cursor()方法创建一个游标对象self.cursor = self.db.cursor()def foo(self):# 使用 execute()方法执行 SQL 查询self.cursor.execute("SELECT * FROM mysql111.user")# 使用 fetchone()方法获取单条数据。data = self.cursor.fetchall()print("Database version", data)# 关闭数据库连接self.db.close()def fuu(self):print("fuu")m = Mysql()
m.foo()

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

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

相关文章

金融工程、金融与经济学知识点

本文整理了20个金融工程、金融和经济学知识点及逻辑&#xff0c;这些是理解金融市场运作和进行量化分析的基石。 1. 金融工程 - 远期与期权&#xff08;Forward & Option&#xff09;的定价与风险管理 远期定价&#xff1a; 利用无套利原则&#xff0c;远期合约的价格应等…

Vue 3 中导出 Excel 文件

在 Vue 3 中导出 Excel 文件&#xff0c;通常可以使用一些流行的 JavaScript 库&#xff0c;如 SheetJS (xlsx) 或者 exceljs。这里我将分别介绍如何使用这两个库来在 Vue 3 应用中导出 Excel 文件。方法 1&#xff1a;使用 SheetJS (xlsx)安装 SheetJS首先&#xff0c;你需要安…

奇麟大数据:前端大文件上传解决方案

在奇麟大数据业务系统的开发及使用过程中&#xff0c;例如OBS对象存储文件管理、流计算DSC依赖管理&#xff0c;经常会遇到上传文件这样的基础需求&#xff0c;一般情况下&#xff0c;前端上传文件就是new FormData&#xff0c;然后把文件 append 进去&#xff0c;然后post发送…

立创EDA中双层PCB叠层分析

立创EDA中双层PCB叠层分析 结论&#xff1a;立创EDA中的双层 PCB 叠层视图相比传统视图&#xff0c;多出一个焊盘层&#xff08;博主命名&#xff09;&#xff1b; 1. 传统双层 PCB 叠层示意图 丝印层 印刷元件标识、极性标记及厂商信息 辅助组装与后期维护 阻焊层 覆盖铜层表…

深入理解进程:从底层原理到硬件系统实战

深入理解进程&#xff1a;从底层原理到嵌入式实战&#xff08;3-4 万字详解&#xff09; 前言&#xff1a;为什么硬件开发者必须吃透进程&#xff1f; 作为嵌入式开发者&#xff0c;你可能会说&#xff1a;“我平时用的 RTOS 里只有任务&#xff08;Task&#xff09;&#xff0…

Elasticsearch 简化指南:GCP Google Compute Engine

作者&#xff1a;来自 Elastic Eduard Martin 系列内容的一部分&#xff1a;开始使用 Elasticsearch&#xff1a;GCP 想获得 Elastic 认证&#xff1f;看看下一期 Elasticsearch Engineer 培训什么时候开始&#xff01; Elasticsearch 拥有丰富的新功能&#xff0c;帮助你根据…

STM32的定时器输入捕获-超声波测距案例

STM32的定时器输入捕获-超声波测距案例 gitee代码输入捕获硬件电路案例说明主函数代码 gitee代码 https://gitee.com/xiaolixi/l-stm32/tree/master/STM32F103C8T6/2-1tem-ld-timer-input-pluse 输入捕获硬件电路 超声波测距案例说明 使用超声波测距传感器使用tim1的输入捕获…

[特殊字符] Spring Boot 常用注解全解析:20 个高频注解 + 使用场景实例

一文掌握 Spring Boot 中最常用的 20 个注解&#xff0c;涵盖开发、配置、Web、数据库、测试等场景&#xff0c;配合示例讲解&#xff0c;一站式掌握&#xff01;&#x1f4cc; 一、核心配置类注解 1. SpringBootApplication 作用&#xff1a;标记为 Spring Boot 应用的入口类&…

【工具变量】地级市城市包容性绿色增长数据(2011-2023年)

城市包容性绿色增长是指在推动城市经济增长的过程中&#xff0c;兼顾环境可持续性、社会公平和包容性发展的理念与实践。它强调在实现绿色转型和低碳发展的同时&#xff0c;保障社会各群体&#xff0c;特别是弱势群体的利益与参与权利&#xff0c;确保增长成果能够公平共享 本…

深入理解React Hooks:从使用到原理

4. 源码解析类:《深入理解React Hooks:从使用到原理》 # 深入理解React Hooks:从使用到原理🔥 **背景**: - Hooks解决了Class组件的哪些问题? - 为什么不能在循环/条件中调用Hooks?🔍 **核心原理**:### 1. Hooks链表 React内部维护一个单向链表:fiber.memoizedSta…

【云原生】Docker 部署 Elasticsearch 9 操作详解

目录 一、前言 二、Elasticsearch 9 新特性介绍 2.1 基于 Lucene 10 重大升级 2.2 Better Binary Quantization(BBQ) 2.3 Elastic Distributions of OpenTelemetry(EDOT) 2.4 LLM 可观测性 2.5 攻击发现与自动导入 2.6 ES|QL 增强 2.7 语义检索 三、基于Docker部署…

uview-ui使用u-search搜索框

1、效果图 2、带地址搜索框&#xff0c;在微信小程序线上需要开启地图定位接口&#xff0c;若没有权限则显示不了城市名&#xff0c;注意事项参考uniapp相关地图 API调用-CSDN博客 <template><view><u-sticky offset-top"-1"><u-search v-mode…

Elasticsearch+Logstash+Kibana部署

目录 一、实验准备 1.下载安装 2.下载java 2.同步主机系统时间 二、部署 1.部署elasticsearch 修改 /etc/elasticsearch/elasticsearch.yml 配置文件 修改 /etc/hosts/ 文件 启动elasticsearch 查看是否启动进程netstat -antptu | grep java 2.部署logstash 进入/et…

TEngine学习

关于静态类中的静态变量赋值&#xff1a; public static class ActorEventDefine{public static readonly int ScoreChange RuntimeId.ToRuntimeId("ActorEventDefine.ScoreChange");public static readonly int GameOver RuntimeId.ToRuntimeId("ActorEventD…

猎板:在 5G 与 AI 时代,印制线路板如何满足高性能需求

5G 与 AI 技术的深度融合&#xff0c;推动电子设备向高速传输、高算力、高集成方向发展&#xff0c;印制线路板&#xff08;PCB&#xff09;作为核心载体&#xff0c;其性能直接决定终端设备的运行效率与可靠性。猎板 PCB 聚焦 5G 通信的高频需求与 AI 算力的密集需求&#xff…

教你如何借助AI精读文献

目录1. 原文2. 对文献有一个快速的理解3. 专业术语解读4. 解答疑问5. 借助AI翻译摘要和引言部分5.1 **摘要 (Abstract)**5.2 **引言 (Introduction)**6. 介绍论文中的“Stack-Propagation”7. 查阅论文里的参考文献&#xff0c;看看他是如何在Introduction中引述研究进展文献&a…

FastAdmin框架超级管理员密码重置与常规admin安全机制解析-卓伊凡|大东家

FastAdmin框架超级管理员密码重置与常规admin安全机制解析-卓伊凡|大东家我们可以看到admin账户是不允许直接修改的&#xff0c;这也是目前fastadmin 框架不允许的&#xff0c;那么如何处理一、FastAdmin超级管理员密码重置方法当FastAdmin的超级管理员密码忘记或需要重置时&am…

我做的基础服务项目,是如何实现 API 安全与限流的(短信、邮件、文件上传、钉钉通知)

我做的基础服务项目&#xff0c;是如何实现 API 安全与限流的&#xff08;短信、邮件、文件上传、钉钉通知&#xff09;一、背景 最近我做了一个基础服务项目&#xff0c;主要对外提供短信、邮件、文件上传和钉钉通知等基础功能。这些接口是多个业务系统都要调用的&#xff0c;…

(Python)类和类的方法(基础教程介绍)(Python基础教程)

源代码&#xff1a;class Students:stats"大学"def __init__(self,name,age,sex,credit):self.namenameself.ageageself.sexsexself.creditcreditdef tell(self):return f"{self.name}说&#xff1a;你好"class Teachers(Students):stats"教师"d…

网络智能体研究综述

网络智能体研究综述1.什么是网络智能体1.1.核心特征1.2.分类方式1.2.1.按功能定位1.2.2. 按网络结构1.2.3.按应用场景1.3.典型应用场景1.4.技术基础1.5.发展趋势与挑战1.5.1.发展趋势1.5.2.核心挑战2.网络智能体盘点3.阿里的WebSailor3.1.WebSailor的主要功能和技术特点3.2.技术…