MySQL基础之概述

news2024/9/21 0:51:18

MySQL

启动、终止

//以管理员身份运行cmd
net start mysql80
net stop mysql80

客户端连接

客户端cmd

“开始”找到MySQL

在这里插入图片描述

环境变量+普通cmd

mysql [-h 127.0.0.1] [-P 3306] -u root -p
mysql -u root -p

[ ] 内的参数可省略,若连接本地MySQL,则无需指定

  • -h:MySQL所在主机的IP
  • -P:MySQL服务端口号,默认3306
  • -u:MySQL数据库用户名
  • -p:MySQL数据库用户名对应的密码

数据库

概念说明
数据库DataBase(DB)有组织地存储数据的仓库
数据库管理系统DataBase Management System(DBMS)操纵和管理数据库的大型软件
结构化查询语言Structured Query Language(SQL)关系型数据库统一标准、编程语言

主流的DBMS

在这里插入图片描述

关系型数据库(Relational Database)是一种基于关系模型的数据库管理系统(DBMS),使用表格(也称为关系)来组织和存储数据

在这里插入图片描述

SQL

通用

  • 分号结尾
  • 任意空格缩进
  • 不区分大小写
  • 单行注释为 " - - " 或 " # "
  • 多行注释为 /* 注释内容 */

分类

分类说明
DCL (Data Control Language)数据控制语言,用来创建数据库用户、控制数据库的访问权限
DDL (Data Definition Language)数据定义语言,用来定义数据库对象(数据库,表字段)
DML(Data Manipulation Language)数据操作语言,用来对数据库表中的数据进行增删改
DQL(DataQueryLanguage)数据查询语言,用来查询数据库中表的记录

DDL数据定义语言

数据库操作

查询所有数据库
show databases;

在这里插入图片描述

创建数据库
create database itcast;

在这里插入图片描述

避免重复创建报错
create database if not exists itcast;

在这里插入图片描述

创建数据库,并指定字符集
create database itheima default charset utf8mb4;

在这里插入图片描述

删除数据库
drop database if exists test;

在这里插入图片描述

切换数据库
use itcast;

在这里插入图片描述

查询当前数据库
select database();

在这里插入图片描述

表的创建、查询

查询当前数据库所有表
show tables;

在这里插入图片描述

创建表
create table tb_user(
-> id int comment ‘编号’,
-> name varchar(50) comment ‘姓名’,
-> age int comment ‘年龄’,
-> gender varchar(1) comment ‘性别’
-> )comment ‘用户表’;

在这里插入图片描述

查看表
desc tb_user;

在这里插入图片描述

查看表的创建语句
show create table tb_user;

在这里插入图片描述

数值类型

类型字节数
TINYINT1
SMALLINT2
MEDIUMINT3
INT4
BIGINT8
FLOAT4
DOUBLE8
DECIMAL小数值(精确定点数)

字符串类型

类型字节数说明
CHAR1定长字符串
VARCHAR2变长字符串
TINYBLOB1二进制数据
TINYTEXT1短文本字符串
BLOB2二进制形式的长文本数据
TEXT2长文本数据
MEDIUMBLOB3二进制形式的中等长度文本数据
MEDIUMTEXT3中等长度文本数据
LONGBLOB4二进制形式的极大文本数据
LONGTEXT4极大文本数据

日期时间类型

类型字节数范围
DATE31000-01-01 至 9999-12-31
TIME3-838:59:59 至 838:59:59
YEAR11901 至 2155
DATETIME81000-01-01 00:00:00 至 9999-12-31 23:59:59
TIMESTAMP41970-01-01 00:00:01 至 2038-01-19 03:14:07

表的修改

在这里插入图片描述

修改名称和类型
alter table emp change nickname username varchar(30);

在这里插入图片描述

修改类型
alter table emp modify username varchar(20);

在这里插入图片描述

删除字段
alter table emp drop username;

在这里插入图片描述

修改表名
alter table emp rename to employee;

在这里插入图片描述

表的删除

删除
drop table if exists tb_user;

在这里插入图片描述

删除并重新创建(只删除数据,不删除类型)
truncate table employee;

在这里插入图片描述

DataGrip

安装、长期使用
安装文章涉及的资源

连接MySQL

在这里插入图片描述
若driver files安装失败,则Drivers->MySQL,这个位置会有下载提示(下载完成会消失)
在这里插入图片描述

连接成功!然后Apply ,再OK
在这里插入图片描述

展示所有数据库

在这里插入图片描述
在这里插入图片描述

创建数据库

在这里插入图片描述

表的创建、修改

在这里插入图片描述

在这里插入图片描述

SQL语句控制

在这里插入图片描述
选中语句后执行
在这里插入图片描述

DML数据操作语句

#添加数据
#为指定字段添加数据
insert into user(name, age, id) values ('harry',11,1);
#为全部字段添加数据
insert into user values ('potter',22,2);
#添加多条数据
insert into user values ('peter',33,3),('park',44,4);

#修改数据
update user set name='neo',age=12 where id=1;

#删除数据
delete from user where id=1;

#查看表的数据:双击表格 or 如下一行代码
select * from user;

在这里插入图片描述

DQL数据查询语言

在这里插入图片描述
执行顺序:from、where、group by、having、select、order by、limit

#数据准备
create table emp(
    id int comment '编号',
    workno varchar(10) comment '工号',
    name varchar(10) comment '姓名',
    gender char(1) comment '性别',
    age tinyint unsigned comment '年龄', idcard char(18) comment '身份证号', workaddress varchar(50) comment '工作地址', entrydate date comment '入职时间'
)comment '员工表';

INSERT INTO emp (id, workno, name, gender, age, idcard, workaddress, entrydate) VALUES (1, '00001', '柳岩666', '女', 20, '123456789012345678', '北京', '2000-01-01');
INSERT INTO emp (id, workno, name, gender, age, idcard, workaddress, entrydate) VALUES (2, '00002', '张无忌', '男', 18, '123456789012345670', '北京', '2005-09-01');
INSERT INTO emp (id, workno, name, gender, age, idcard, workaddress, entrydate) VALUES (3, '00003', '韦一笑', '男', 38, '123456789712345670', '上海', '2005-08-01');
INSERT INTO emp (id, workno, name, gender, age, idcard, workaddress, entrydate) VALUES (4, '00004', '赵敏', '女', 18, '123456757123845670', '北京', '2009-12-01');
INSERT INTO emp (id, workno, name, gender, age, idcard, workaddress, entrydate) VALUES (5, '00005', '小昭', '女', 16, '123456769012345678', '上海', '2007-07-01');
INSERT INTO emp (id, workno, name, gender, age, idcard, workaddress, entrydate) VALUES (6, '00006', '杨逍', '男', 28, '12345678931234567X', '北京', '2006-01-01');
INSERT INTO emp (id, workno, name, gender, age, idcard, workaddress, entrydate) VALUES (7, '00007', '范瑶', '男', 40, '123456789212345670', '北京', '2005-05-01');
INSERT INTO emp (id, workno, name, gender, age, idcard, workaddress, entrydate) VALUES (8, '00008', '黛绮丝', '女', 38, '123456157123645670', '天津', '2015-05-01');
INSERT INTO emp (id, workno, name, gender, age, idcard, workaddress, entrydate) VALUES (9, '00009', '范凉凉', '女', 45, '123156789012345678', '北京', '2010-04-01');
INSERT INTO emp (id, workno, name, gender, age, idcard, workaddress, entrydate) VALUES (10, '00010', '陈友谅', '男', 53, '123456789012345670', '上海', '2011-01-01');
INSERT INTO emp (id, workno, name, gender, age, idcard, workaddress, entrydate) VALUES (11, '00011', '张士诚', '男', 55, '123567897123465670', '江苏', '2015-05-01');
INSERT INTO emp (id, workno, name, gender, age, idcard, workaddress, entrydate) VALUES (12, '00012', '常遇春', '男', 32, '123446757152345670', '北京', '2004-02-01');
INSERT INTO emp (id, workno, name, gender, age, idcard, workaddress, entrydate) VALUES (13, '00013', '张三丰', '男', 88, '123656789012345678', '江苏', '2020-11-01');
INSERT INTO emp (id, workno, name, gender, age, idcard, workaddress, entrydate) VALUES (14, '00014', '灭绝', '女', 65, '123456719012345670', '西安', '2019-05-01');
INSERT INTO emp (id, workno, name, gender, age, idcard, workaddress, entrydate) VALUES (15, '00015', '胡青牛', '男', 70, '12345674971234567X', '西安', '2018-04-01');
INSERT INTO emp (id, workno, name, gender, age, idcard, workaddress, entrydate) VALUES (16, '00016', '周芷若', '女', 18, null, '北京', '2012-06-01');

#基本查询
##查询
select * from emp;
select name,workno,age from emp;
#别名(as可省略)
select workaddress as '工作地址' from emp;
#去重
select distinct workaddress from emp;

#条件查询
select * from emp where age  not in (18,20,40) and idcard like '%x';#身份证最后是x
select * from emp where name like '__';#名字有两个字

#聚合函数
select count(idcard) from emp;#16-1=15
select avg(age) from emp;#40.125
select max(age) from emp;#88
select sum(age) from emp where workaddress='西安';#135

#分组查询
#分组前where过滤,分组后having过滤                                                #
select workaddress,count(*) as address_count from emp where age<45 group by workaddress having address_count >=3;
select workaddress,gender,count(*) '数量' from emp group by gender, workaddress;

#排序查询
#先按age升序,age相同时再按照entrydate降序
select * from emp order by age asc ,entrydate desc ;

#分页查询
#起始索引,展示记录数
select * from emp limit 10,10;#11~16

DCL数据控制语言

在这里插入图片描述

授予权限后
在这里插入图片描述

#查询用户
select * from mysql.user;

#创建用户
create user 'itcast'@'localhost' identified by '123456';#本地主机
create user 'heima'@'%' identified by '123456';#任意主机

#修改密码
alter user 'itcast'@'localhost' identified with mysql_native_password by '1234';

#删除用户
drop user 'itcast'@'localhost';
drop user 'heima'@'%';

#权限控制
#查询权限
show grants for 'heima'@'%';#USAGE

#授予权限,把itcast数据库所有表的所有权限授予heima
grant all on itcast.* to 'heima'@'%';#ALL PRIVILEGES

#撤销权限
revoke all on itcast.* from heima;

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

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

相关文章

机器学习笔记 - 结合深度学习的基于内容的图像实例检索 利用现成的DCNN模型进行检索

一、简述 上一篇,基于内容的图像实例检索综述。 https://mp.csdn.net/mp_blog/creation/editor/131415155https://mp.csdn.net/mp_blog/creation/editor/131415155 一种方案是,为分类任务而进行大规模训练的DCNN直接充当图像检索任务的现成特征检测器,也就是说,可以…

Live800:为什么越来越多的企业选择在线客服系统?

现今&#xff0c;越来越多的企业开始使用在线客服系统&#xff0c;这是因为互联网时代已经席卷全球&#xff0c;企业需要尽可能地利用新技术&#xff0c;优化客户体验和服务。一个强大的在线客服系统可以帮助企业实现客服信息的统一管理&#xff0c;这样可以为企业带来巨大的好…

Vue Router 相关理解 基本路由 多级路由

6.1.相关理解 6.1.1.vue-router 的理解 vue的一个插件库&#xff0c;专门用来实现SPA应用 6.1.2.对SPA应用的理解 单页Web应用&#xff08;single page web application&#xff0c;SPA&#xff09;整个应用只有一个完整的页面点击页面中的导航链接不会刷新页面&#xff0c…

Find My资讯|苹果Find My技术应用于车内丢失设备

美国专利商标局正式授予苹果两项泰坦项目新专利&#xff0c;分别是扩展其针对车内丢失设备的“Find My”设备服务&#xff0c;以及用于自动驾驶汽车的高级传感器系统&#xff0c;其中传感器系统还涵盖了带有摄像头系统的车辆&#xff0c;而摄像头系统除可3D重建场景之外&#x…

通过网络流量监测分析解决堡垒主机部署后未经授权访问的3389端口问题

1. 前言 堡垒主机是网络安全的重要组成部分&#xff0c;但在部署后仍可能存在一些主机可以绕过堡垒主机直接访问之前的3389端口。本文将介绍如何利用网络流量监测分析方法解决这个问题&#xff0c;提供一种有效的解决方案&#xff0c;加强对网络的访问控制和安全监测。 2. 网…

[NOI2016] 网格

题目描述 跳蚤国王和蛐蛐国王在玩一个游戏。 他们在一个 &#xfffd;n 行 &#xfffd;m 列的网格上排兵布阵。其中的 &#xfffd;c 个格子中 (0≤&#xfffd;≤&#xfffd;⋅&#xfffd;)(0≤c≤n⋅m)&#xff0c;每个格子有一只蛐蛐&#xff0c;其余的格子中&#xff…

小红书美妆品牌投放流程有哪些,品牌规划

越来越多的品牌开始重视新媒体&#xff0c;很多品牌和商家纷纷将目光瞄准了小红书&#xff0c;但是由于各平台都有自己的规则&#xff0c;盲目踏入不熟悉的领域肯定是有点冒险的。那么小红书美妆品牌投放流程有哪些&#xff0c;以及品牌规划。 小红书品牌投放指南是指小红书平台…

享元模式(Flyweight)

别名 缓存&#xff08;Cache&#xff09;。 定义 享元是一种结构型设计模式&#xff0c;它摒弃了在每个对象中保存所有数据的方式 &#xff0c;通过共享多个对象所共有的相同状态&#xff0c;让你能在有限的内存容量中载入更多对象。 前言 1. 问题 假如你希望在长时间工作…

互联网+洗鞋店软件多门店多网点预约下单小程序

互联网洗鞋店软件小程序功能介绍: 1.用户端&#xff08;上门取件、送货到店、寄存网点&#xff09; 2.取货员端&#xff08;取件员拍照&#xff0c;清洗过程&#xff0c;包装拍照&#xff09; 3.多门店管理&#xff08;用户进入小程序&#xff0c;根据定位自动匹配就近门店&…

Golang每日一练(leetDay0106) 超级丑数、右侧小于当前元素的个数

目录 313. 超级丑数 Super Ugly Number &#x1f31f;&#x1f31f; 315. 计算右侧小于当前元素的个数 Count-of-smaller-numbers-after-self &#x1f31f;&#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Rust每日一练 专栏 Golang每日一练…

easypoi 导出word并插入echart图片和文件

一 pom 文件引入&#xff1a;<!-- 目前的版本对应 poi 4.1.2 和 xmlbeans 3.1.0 , poi 3.17 和 xmlbeans 2.6.0 --><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.2</version&…

新人必看的Java基础知识点大梳理

一个Java程序可以认为是一系列对象的集合&#xff0c;而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。 对象&#xff1a;对象是类的一个实例&#xff0c;有状态和行为。例如&#xff0c;一条狗是一个对象&#xff0c;它的状态有&…

树莓派Pico|SHELL中microPython命令行|pico sdk开发环境搭建|点灯代码|必备开发工具|gcc涉及的include文件目录

文章目录 SHELL中microPython命令行SHELL中基于microPython的控制代码Hello Pico 代码SHELL中简单点灯代码SHELL中循环亮灯代码 基于pico sdk开发环境搭建及点灯代码必备开发工具Mingw-w64&#xff1a;著名C/C编译器GCCarm-none-eabi&#xff1a;交叉编译工具Git&#xff1a;开…

js翻转数组

arr [red, green, "blue", "pink", "purple"];var arr1 [];for (var i 1; i < arr.length; i) {console.log(arr1.length)arr1[arr1.length] arr[arr.length - i];console.log(arr1.length)}console.log(arr1);

echarts饼装图自定义图例和扇形区的文字

最近因为工作需要&#xff0c;需要开发一个大屏&#xff0c;后台给的数据是这个的&#xff0c;echarts是默认将数据data例的name属性作为图例和扇形图上展示文本&#xff0c;这里我需要自定义图例信息和内容&#xff0c;通过这篇文章&#xff0c;记录下如何修改这些内容&#x…

spring IOC详解

一、IOC IoC就是Inversion of Control&#xff0c;控制反转。在Java开发中&#xff0c;IoC意味着将你设计好的类交给系统去控制&#xff0c;而不是在你的类内部控制。这称为控制反转。 下面我们以几个例子来说明什么是IoC。假设我们要设计一个Girl和一个Boy类&#xff0c;其中G…

【PostgreSQL-16新特性之普通用户的保留连接个数(reserved_connections)】

PostgreSQL数据库为了保证在高并发&#xff0c;高连接数情况下某些用户能够正常连接到数据库里&#xff0c;设立了几个用户连接的保留个数。 本文介绍了PostgreSQL16版本前为超级用户保留的连接数&#xff08;superuser_reserved_connections&#xff09;以及PostgreSQL16版本…

【江西省研究生数学建模竞赛】题目之三 植物的多样性 建模方案及参考文献

【江西省研究生数学建模竞赛】题目之三 植物的多样性 建模方案及参考文献 1 题目 2023年江西省研究生数模竞赛题目之三 植物的多样性 植物作为食物链中的生产者&#xff0c;通过光合作用吸收二氧化碳&#xff0c;制造氧气&#xff0c;同时为其他生物提供食物和栖息地&#x…

前端JavaScript入门-day04

(创作不易&#xff0c;感谢有你&#xff0c;你的支持&#xff0c;就是我前行的最大动力&#xff0c;如果看完对你有帮助&#xff0c;请留下您的足迹&#xff09; 目录 函数 为什么需要函数 函数使用 函数的声明语法 函数名命名规范 函数的调用语法 函数体 函数传参 声…

Scala集合与Java集合的互转函数asScala与asJava

只有引入隐式转换类 JavaConverters&#xff0c;才能使用Scala集合与Java集合之间的转换函数。 为方便理解&#xff0c;看下面的例子&#xff1a; import scala.collection.JavaConverters._ val javaList java.util.Arrays.asList("hi", "bye") val sca…