入门MySQL数据库

news2024/9/20 19:47:43

目录

一、MySQL的安装(以5.7版本为例)

1. 一路默认安装即可,注意root密码。

2.配置环境变量

3.登录数据库

二、指令

1.数据库

 2.数据表

3.约束

4.增删改查

1>查

2>增

3>改

4>删

5.数据库用户

 6.外键

1>创建添加外键

2>删除外键

7.常用函数

8.特殊数据类型

1>datetime

2>enum


知识点虽然简单,但是比较多,所以写一篇博客将MySQL的基础写出来,方便自己以后查找,还有就是分享给大家

一、MySQL的安装(以5.7版本为例)

1. 一路默认安装即可,注意root密码。

2.配置环境变量

C:\Program Files\MySQL\MySQL Server 5.7\bin

3.登录数据库

mysql -u root -p

二、指令

1.数据库

show databases;

显示所有数据库

create database 数据库名 charset=utf8;创建数据库
use database 数据库名;        

使用数据库 

drop database 数据库名;

删除数据库
select database();查看当前使用的数据库
show create database 数据库名;查看创建数据库的sql语句

 2.数据表

show tables;                                显示所有数据表
create table 表名(列名1 数据类型 约束1 约束2 约束3, 列名2 数据类型 约束1 约束2 约束3 );创建表

desc 表名;

查看表结构
drop table 表名;删除表
alter table 表名  drop 列名        ;

删除列

alter table 表名  add  列名  数据类型 约束1 约束2 约束3 ;

添加列
alter table 表名  change 列名  新列名 数据类型 约束1 约束2 约束3   ; 修改列

3.约束

primary key主键
not null非空
unique唯一
auto_increment        自增长,每次加1
default 默认值                列的默认值
foreign key        外键,与其他表关联,是其他表的主键

4.增删改查

1>查
普通查询
select * from 表名;查询表中所有数据
select 列1, 列2  from 表名;从表中查询相应的列
select 列1 as 别名, 列2 as 别名 from 表名;从表中查询相应的列,以别名形式显示
条件查询
select * from 表名  where 条件;
=  < > >=  <=  !=比较运算符
and   or   not         逻辑运算符
in   is                 

成员运算符

between  start   and  end         范围比较
like        模糊查询 %为多个字符,-为1个字符
关联查询
select * from 表1 where id in (select pid from 表2);嵌套查询,将从表2查找到的数据,作为查找表1的条件
select * from 表1,表2;笛卡尔连接,将表1的每个数据分别与表2的所有数据连接

select A.a,A.b,B.a,B.b from 表A inner join 表B on  连接条件;

内连接。作为有关联的表A和表B,当连接条件成立时。查询表A的列a,列b,表B的列a列b。
select A.a,A.b,B.a,B.b from 表A left join 表B on  连接条件;左外连接。作为有关联的表A和表B,当连接条件成立时。查询表A的列a,列b,表B的列a列b。并且以表A为主表,表B中若没有符合表A的数据,则补Null
select A.a,A.b,B.a,B.b from 表A right join 表B on  连接条件;右外连接。作为有关联的表A和表B,当连接条件成立时。查询表A的列a,列b,表B的列a列b。并且以表B为主表,表A中若没有符合表B的数据,则补Null
select A.a,A.b,B.a,B.b from 表A left join 表B on  连接条件 union select A.a,A.b,B.a,B.b from 表A right join 表B on  连接条件; 全连接。即 左外连接和右外连接的并集
去重,分组,排序,分页
select distinct 列1 from 表名;以列1为参考去重
select * from 表1,表2;笛卡尔连接,将表1的每个数据分别与表2的所有数据连接

select  列1, cout(*) from  表名 group by  列1;

将列1分组并统计每个组的个数

sum(列名),max(列名)。。。

select * from 表名 order by (列1) desc/asc;

以列1进行desc降序排列/asc升序排列

也可以分组后再进行排序

select * from 表名 limit start ,end

从start个开始,往后查询end个数据为第一页

第n页公式为:limit (n-1)end , end

select A.a,A.b,B.a,B.b from 表A left join 表B on  连接条件 union select A.a,A.b,B.a,B.b from 表A right join 表B on  连接条件; 全连接。即 左外连接和右外连接的并集
2>增
insert into 表名 values(列1数据,列2数据......),(列1数据,列2数据......);表在定义时有几列便写几个数据
insert into 表名(列a, 列b) values(数据a,数据b);指定插入的数据的列
insert into 表名 set 列1 = 值1,列2 = 值2 ; 指定插入数据的列
3>改
update 表名 set 列1 = 值1 where 条件;根据条件修改行

4>删
delete from 表名;        清空列表
delete from 表名 where 条件        根据条件删除行

5.数据库用户

root用户+其他用户:%代表所有ip都可以访问(root除外)

create use 用户名@'%' identified by '密码';

创建用户

grant 权限1 on 数据库1.表1  to 用户名@'%'

grant all on *.* to 用户名;  

分配数据库1中的表1的权限1给用户;

分配所有数据库的所有表的所有权限给用户;

drop 用户名@'%';删除用户
alter user 用户名@'%' identified by '新密码 '修改用户密码

 6.外键

1>创建添加外键

constraint  外键索引名 foreign key (本表列名)  references 引用表名(列名)on update cascade on delete cascade;

cascade:级联,在删除和修改时同步更改。

2>删除外键

alter table 表名 drop foreign key 外键索引名;

7.常用函数

select database();查看当前数据库
select user();查看当前用户
select version();查看MySQL版本信息
select now();查看当前的日期和时间
select curdate();查看当前日期
select curtime();查看当前时间
select unix_timestamp();查看当前时间戳

8.特殊数据类型

1>datetime

注册时间: register_time(列名)  datetime(数据类型) default current_timestamp;

更新时间:update_time(列名) datetime (数据类型)  default current_timestamp on update current_timestamp;

2>enum

枚举类型:只能从给出的特定的值中选择。

性别: sex(列名)  enum('男','女','保密') default '保密';

感谢观看,如有错误,请留言指正。

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

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

相关文章

实验5:数码管实验,51单片机

8个数码管 LED1-LED8分别有P22,P23,P24的A,B,C控制 C B A 000 0-1 001 1-2 010 2-3 011 3-4 101 4-5 110 6-7 111 7-8 共阴极数码管,八段 0-F编码 硬件图 对应P0口 main.c #include<reg52.h>typedef unsigned int u16; typedef unsigned char u8;#d…

RPA在政务领域的发展前景

随着信息技术的迅猛发展&#xff0c;政务领域也在不断探索创新&#xff0c;以提升政府服务的质量和效率。RPA作为一种自动化技术&#xff0c;打破了传统政务服务人工操作的局限&#xff0c;协助基层人员更高效准确地完成录入、审查、校对和数据汇总等各项繁琐的工作&#xff0c…

第1节 安装Flask

我们以Thonny4为例&#xff1a; flask是第一个第三方库。与其他模块一样&#xff0c;安装时可以直接使用python的pip命令实现。 一、找到你的安装目录 这是我的安装目录&#xff1a; D:\thonney4\scripts 二、执行pip pip install Flask

LabVIEW VI 多语言动态加载与运行的实现

在多语言应用程序开发中&#xff0c;确保用户界面能够根据用户的语言偏好动态切换是一个关键需求。本文通过分析一个LabVIEW程序框图&#xff0c;详细说明了如何使用LabVIEW中的属性节点和调用节点来实现VI&#xff08;虚拟仪器&#xff09;界面语言的动态加载与运行。此程序允…

人像修复-DB双曲线

相对于中性灰图层修复&#xff0c;不容易掉色&#xff0c;光影过渡更均匀&#xff0c;适合大范围调整光影&#xff0c;而中性灰适合更调整细节主要用于修饰光影均匀过渡&#xff0c;先大范围修饰整体&#xff0c;再局部细节修饰 建立明度观察层&#xff08;渐变映射曲线&#x…

Xilinx系ZYNQ学习笔记(二)ZYNQ入门

系列文章目录 文章目录 系列文章目录前言简单介绍简称 xc7z020型号FPGAZYNQ实操通用IO点亮LED灯硬件逻辑基础 前言 简单入门一下ZYNQ是何种架构&#xff0c;如何编程&#xff0c;至于深入了解应该要分开深入学习Linux和FPGA 简单介绍 其基本架构都是在同一个硅片上集成 FPGA …

『Android』如何配置 Jetpack-Compose 环境

记录配置Jetpack Compose环境的一些坑~ 直接创建kotlin项目或创建java项目后再配置均可 根目录 build.gradle 配置kotlin环境构建脚本 buildscript {ext.kotlin_version 1.4.32dependencies {classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version&q…

T5:运动鞋图片识别

T5周&#xff1a;运动鞋品牌识别 **一、前期工作**1.设置GPU&#xff08;用CPU可忽略该步骤&#xff09;2.导入数据3.查看数据 **二、数据预处理**1.加载数据2.可视化数据3.配置数据集 **三、构建CNN网络模型****四、编译模型****1、设置动态学习率** **五、训练模型****六、模…

【iOS】——响应者链和事件传递链

事件传递 事件传递流程 发生触摸事件后&#xff0c;系统会将该事件封装成UIEvent对象加入到一个由UIApplication管理的事件队列 UIApplication会从事件队列中取出最前面的事件&#xff0c;并将事件分发下去以便处理&#xff0c;通常&#xff0c;先发送事件给应用程序的主窗口…

什么你还不懂keepalived高可用负载均衡架构?

1、部署keepalived 1.1、keepalived简介 vrrp 协议的软件实现,原生设计目的为了高可用 ipvs 服务 官网: http://keepalived.org/ 功能: 基于 vrrp 协议完成地址流动 为 vip 地址所在的节点生成 ipvs 规则 ( 在配置文件中预先定义 ) 为 ipvs 集群的各 RS 做健康状态检测 基…

Linux 操作系统 --- 信号

序言 在本篇内容中&#xff0c;将为大家介绍在操作系统中的一个重要的机制 — 信号。大家可能感到疑惑&#xff0c;好像我在使用 Linux 的过程中并没有接触过信号&#xff0c;这是啥呀&#xff1f;其实我们经常遇到过&#xff0c;当我们运行的进程当进程尝试访问非法内存地址时…

NC 数组中只出现一次的两个数字

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站&#xff0c;这篇文章男女通用&#xff0c;看懂了就去分享给你的码吧。 描述 一个整型数组…

Apache--简介与基本使用

前言&#xff1a;本博客仅作记录学习使用&#xff0c;部分图片出自网络&#xff0c;如有侵犯您的权益&#xff0c;请联系删除 一、Apache简介 Apache HTTP Server&#xff08;在Red Hat发行版中俗称Apache或httpd&#xff09;是由Apache Software Foundation在Apache License…

windows bat脚本基础指令详解

pause暂停批处理的执行并在屏幕上显示"请按任意键继续…"echo显示指令&#xff0c;会把需要显示的内容展示出来。echo off在此语句后所有运行的命令都不显示命令行本身&#xff0c;但是本身的指令是会显示出来的。不显示本行命令行call调用另一个批处理文件&#xff…

Ricardo Milos

目录 一、题目 二、思路 三、payload 四、思考与总结 一、题目 <!-- Challenge --> <form id"ricardo" method"GET"><input name"milos" type"text" class"form-control" placeholder"True" va…

【C++STL详解(十一)】map/set/multimap/multiset的介绍与使用

目录 一、关联式容器 二、键值对 三、set 介绍 简单使用 1.构造 2.相关迭代器 3.容量 4.修改 四、multiset 五、map 介绍 使用 1.定义的方式 2.迭代器相关 3.容量与operator【】(重点) 4.修改 小总结&#xff1a; 六、multimap 一、关联式容器 在CSTL中…

【学习笔记】A2X通信的协议(十三)- 消息功能定义和内容

目录 11 消息功能定义和内容 11.1 概述 11.2 通过PC5信令消息进行的A2X通信 11.2.1 A2X直接链路建立请求 11.2.1.1 消息定义 11.2.1.2 目标用户信息 11.2.1.3 密钥建立信息容器 11.2.1.4 Nonce_1 11.2.1.5 KNRP-sess ID的最高有效位&#xff08;MSB&#xff09; 11.2…

替代 SMR 算法!两步孟德尔随机化方法 TWMR 与 revTWMR 整合xQTL+GWAS数据分析基因表达与疾病的关联

全基因组关联研究&#xff08;GWAS&#xff09;是研究大型队列中基因型与表型关系的重要工具。GWAS的已知局限性主要在于从与致病变异相关的连锁不平衡区域中识别生物学机制&#xff0c;而无法直接获得基因层面的表型关联。为了解决这个问题&#xff0c;基于转录组关联研究&…

C语言——函数专题

1.概念 在C语言中引入函数的概念&#xff0c;有些翻译为子程序。C语言中的函数就是一个完成某项特定任务的一小段代码&#xff0c;这个代码是有特殊的写法和调用方法的。一般我们可以分为两种函数&#xff1a;库函数和自定义函数。 2.库函数 C语言国际标准ANSIC规定了一些常…

Docker 容器运行时如何实现与宿主机的目录挂载

虽然容器启动前挂载目录相对简单,只需要在启动容器的时候通过-v 参数即可轻松实现,但对于已运行的容器进行目录挂载则稍显复杂。本教程将深入讲解如何在不中断容器运行的情况下,为已运行的Docker容器配置目录挂载,实现灵活的数据共享与持久化策略。 一、环境准备 为了本次实…