当前位置: 首页 > news >正文

入门mysql数据库

mysql的入门使用

既然我们要使用mysql就要知道为什么要使用mysql
持久化把数据保到可掉电式存储设备中以供之后使用,数据持久化意味着将内存中的数据保存到硬盘上加以“固化”,而持久化的实现过程大多通过各种关系数据库来完成。
持久化的主要作用是将内存中数据存储在关系型数据库中,当然也可以直接存储在磁盘文件,XML数据文件中。
数据库的概念
数据库就是字面意思数据的存储仓库本质是文件系统保存了一系列有组织的数据
一般我们会创建一个数据库存储相关数据
在这里插入图片描述
数据库又分为关系型数据库和非关系型数据库
关系型数据库有oracle sqlserver mysql sqlite
非关系型数据库又有MongoDB redis(内存键值对)

指令(所有的操作后面要加";")

作为新手我们应该掌握的就是一些基础指令
show databases;
展示所有的数据库
create database 数据库名 charset=utf8;
创建数据库
drop database 数据名;
删除数据库
select database();
查看当前使用的数据库
use 数据库名;
使用数据库
在数据库中又有一系列的数据表
对表又有一些增删改查的操作
show tables;
显示所有表
create table 表名( 列名 类型 约束1 约束2 约束3, 列名 类型 约束1 约束2, 列名 类型 约束1 );
desc 表名
查看表结构
drop table 表名
删除数据表
修改表
alter table 表名
drop 列名;
add 列名 类型 约束1 约束2;
change 原列名 新列名 类型 约束1 约束2;
这些数据类型的约束又有好多选项
在这里插入图片描述
主键不是必须的但是一般都有
某些临时表或中间表,只用于存储临时数据或在数据处理过程中使用,可能不需要主键。这些表的数据可能是短暂的,并且在特定的操作完成后就可以被删除。
非常小的表,其中的数据量非常少,并且可以通过其他方式确保数据的唯一性,可能不需要主键。例如,一个只包含两个固定值的表,可能不需要主键来区分不同的行。
没有主键的影响
如果一个表没有主键,可能会带来以下一些问题:
数据的唯一性难以保证,可能会出现重复的数据行。
在与其他表建立关系时,可能会比较困难,因为没有明确的标识来关联其他表的外键。
数据检索的效率可能会降低,特别是在没有合适的索引的情况下。
对于数据库来说最主要的操作就是CURD(增删改查)
在这里插入图片描述
where的用法
在这里插入图片描述
在这里插入图片描述
以上便是数据库的基本操作
还有些函数
在这里插入图片描述
我们需要下载可视化工具Navicat Premium
我下载的是Navicat Premium 15
这个没有什么安装教程一直点击next就好了完成后我们打开连接
选择创建自己的数据库
在这里插入图片描述
右键创建数据库
输入数据库名字选择utf8编码字符
然后双击使用数据表
再右键新建表

这就是你所创建的数据表了
对表右键有设计表
选择设计表可以添加字段以及更改数据类型选择索引和外键设置完之后点击保存
这样我们的数据表就建好了
然后打开我们的pycharm
再pycharm的终端中下载pymysql

  import pymysql# 1.链接数据库
con = pymysql.connect(user='gyh', password='123456')
cur = con.cursor()row = cur.execute('show databases')
for data in cur.fetchall():print(data)print(row)
cur.execute('use python2407')
cur.execute('show tables')for i in cur.fetchall():print(i)cur.scroll(0, mode="absolute")
cur.execute('show tables')
for j in cur.fetchall():print(j)# 关闭连接
cur.close()
con.close()

con = pymysql.connect 连接数据库
cur = con.cursor() 创建游标
cur.execute()执行方法(括号内为sql语句)
cur.executemany()执行多条
con.commit()保存数据
这些执行的前提是数据库中有表和数据库

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 空状态设计教程:连接用户体验的桥梁
  • 制造企业MES系统质检管理的应用
  • 【杂乱算法】前缀和与差分
  • [Linux#42][线程] 锁的接口 | 原理 | 封装与运用 | 线程安全
  • 使用 Vue 官方脚手架初始化 Vue3 项目
  • 基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(二)---ROS2与UE5进行图像数据传输
  • 多维的vector也可以sort!力扣刷题-合并区间有感
  • Esxi 7.0 安装windows xp 问题汇总
  • 大模型面试问题记录
  • 2018年高教社杯全国大学生数学建模竞赛(ABCD题)题目及附件
  • 数据库分库分表的介绍
  • 浅谈如何克服编程学习中的挫折感
  • java版知识付费saas租户平台的核心功能设计:打造高效、个性化的学习体验
  • 在 Hub 上使用 Presidio 进行自动 PII 检测实验
  • 3154. 到达第 K 级台阶的方案数(24.8.20)
  • 分享一款快速APP功能测试工具
  • 【140天】尚学堂高淇Java300集视频精华笔记(86-87)
  • 【个人向】《HTTP图解》阅后小结
  • CSS相对定位
  • HTML中设置input等文本框为不可操作
  • JAVA 学习IO流
  • Redash本地开发环境搭建
  • Swift 中的尾递归和蹦床
  • SwizzleMethod 黑魔法
  • Vim 折腾记
  • 力扣(LeetCode)56
  • 前端临床手札——文件上传
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 系统认识JavaScript正则表达式
  • 翻译 | The Principles of OOD 面向对象设计原则
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • # wps必须要登录激活才能使用吗?
  • #C++ 智能指针 std::unique_ptr 、std::shared_ptr 和 std::weak_ptr
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • (06)金属布线——为半导体注入生命的连接
  • (C语言)字符分类函数
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (zhuan) 一些RL的文献(及笔记)
  • (代码示例)使用setTimeout来延迟加载JS脚本文件
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (二)测试工具
  • (二刷)代码随想录第16天|104.二叉树的最大深度 559.n叉树的最大深度● 111.二叉树的最小深度● 222.完全二叉树的节点个数
  • (黑马点评)二、短信登录功能实现
  • (牛客腾讯思维编程题)编码编码分组打印下标(java 版本+ C版本)
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • .NET 简介:跨平台、开源、高性能的开发平台
  • .NET 使用 ILMerge 合并多个程序集,避免引入额外的依赖
  • .NET/C# 使用 SpanT 为字符串处理提升性能
  • .NET6使用MiniExcel根据数据源横向导出头部标题及数据
  • .net安装_还在用第三方安装.NET?Win10自带.NET3.5安装
  • .NET命名规范和开发约定
  • .net用HTML开发怎么调试,如何使用ASP.NET MVC在调试中查看控制器生成的html?
  • @Bean注解详解
  • @PreAuthorize与@Secured注解的区别是什么?