一篇文章入门MySQL数据库

news/2024/10/11 2:45:27/

目录

配置环境

下载

安装

登录

本地登录​

远程登录

用户管理

用户增删查

查询用户

新增用户

删除用户

用户密码管理

重命名用户

用户权限管理

赋权

撤权

查看权限

数据类型

数值型

日期时间型

字符串型

show显示语句

查询数据库

查询数据表

其他用法

create创建语句

创建数据库

创建数据表

创建用户

drop删除语句

删除数据库

删除数据表

删除用户

insert插入数据

select查询语句

 where子句

like子句

delete删除语句

 未完更新


配置环境

下载

本文使用Windows环境,MySQL版本使用的是8.0.39

打开官网下载MySQL社区版,点击DOWNLOADS

下拉选择MySQL Community(GPL) Downloads

选择MySQL Installer for Windows

选择一个合适的版本点击Download

选择 No thinks,just start my download

等待下载完成,双击运行安装

安装

运行安装程序后稍等一会就是这个界面

根据自身需要选择安装类型,然后next

这里选择 Excute

执行完后选择Next后再点Next

这里是MySQL配置页面,不需要去更改默认配置(这里是因为我服务器3306端口已被占用)

点击Next,这里输入Root用户密码(一定别忘记了!),点击Next到底

至此,MySQL已安装完毕

windows可以搜索打开mysql终端,如果需要直接输入mysql命令则需要配置环境变量

输入密码就可以登录mysql

登录

Mysql支持两种登录方式,即本地登录和远程登录

本地登录就是服务器在本机,使用本机连接到数据库

远程登录就是服务器不是本机,通过远程连接的方式连接到数据库

本地登录

需要用户具有本地登录权限

在终端中输入登录命令即可登录

-u是指定登录的用户名,-p输入密码

mysql -uroot -p

远程登录

需要用户具有远程登录权限

mysql -h 主机名/ip地址 -u用户名 -p 密码

-h指定登录数据库服务器的地址,可以是ip地址也可以是域名 

用户管理

用户增删查

查询用户

切换到默认就有的mysql数据库,使用select语句可查询所有用户

通过select user();可以查询当前登录的用户

root就是当前登录的用户,localhost表示是本地登录

新增用户

使用 create user 命令创建新用户,user1为用户名

删除用户

使用 drop user 命令可删除用户

用户密码管理

通过set password 命令可以设置当前登录用户的密码

通过增加for指定给用户设置密码

mysql数据库下使用select user,authentication_string password from user;命令可以查询所有用户的密码(加密了)

重命名用户

通过rename命令重命名,to前是需要重命名的用户,to后是新名

用户权限管理

赋权

使用grant命令给用户赋权

#	命令语法:
grant privileges on database.table to 'username'@'host'privileges:授予的权限(privileges为给用户授权权限,还要select、insert、update等,全允许用all)
database:数据库名,授予的权限的使用数据库范围(*为所有)
table:数据表名,授予的权限的数据库的数据表范围(*为所有)
username:授予用户的用户名
host:localhost为本地登录,%为远程登录

例如:给test用户赋予执行create命令的权限

mysql> grant create on *.* to 'test'@'localhost';

撤权

使用revoke命令撤销用户权限,其使用和grant命令基本一致

例如:

mysql> revoke create on *.* from 'test'@'localhost';	#	撤销test用户的create权限

查看权限

使用show grants;命令查看所用用户的权限表

通过添加for可以指定查询指定用户的权限

数据类型

数据类型是数据库存储数据的类型,指定数据类型告诉服务器这个字段是什么类型的数据

数值型

类型大小范围(有符号)范围(无符号)用途
TINYINT1 Bytes(-128,127)(0,255)小整数值
SMALLINT2 Bytes(-32 768,32 767)(0,65 535)大整数值
MEDIUMINT3 Bytes(-8 388 608,8 388 607)(0,16 777 215)大整数值
INT或INTEGER4 Bytes(-2 147 483 648,2 147 483 647)(0,4 294 967 295)大整数值
BIGINT8 Bytes(-9,223,372,036,854,775,808,9 223 372 036 854 775 807)(0,18 446 744 073 709 551 615)极大整数值
FLOAT4 Bytes(-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38)0,(1.175 494 351 E-38,3.402 823 466 E+38)单精度 浮点数值
DOUBLE8 Bytes(-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)双精度 浮点数值
DECIMAL对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2依赖于M和D的值依赖于M和D的值小数值

日期时间型

类型大小 ( bytes)范围格式用途
DATE31000-01-01/9999-12-31YYYY-MM-DD日期值
TIME3'-838:59:59'/'838:59:59'HH:MM:SS时间值或持续时间
YEAR11901/2155YYYY年份值
DATETIME8'1000-01-01 00:00:00' 到 '9999-12-31 23:59:59'YYYY-MM-DD hh:mm:ss混合日期和时间值
TIMESTAMP4'1970-01-01 00:00:01' UTC 到 '2038-01-19 03:14:07' UTC结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07YYYY-MM-DD hh:mm:ss混合日期和时间值,时间戳

字符串型

类型大小用途
CHAR0-255 bytes定长字符串
VARCHAR0-65535 bytes变长字符串
TINYBLOB0-255 bytes不超过 255 个字符的二进制字符串
TINYTEXT0-255 bytes短文本字符串
BLOB0-65535 bytes二进制形式的长文本数据
TEXT0-65535 bytes长文本数据
MEDIUMBLOB0-16777215 bytes二进制形式的中等长度文本数据
MEDIUMTEXT0-16777215 bytes中等长度文本数据
LONGBLOB0-4294967295 bytes二进制形式的极大文本数据
LONGTEXT0-4294967295 bytes极大文本数据

show显示语句

查询数据库

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.07 sec)

查询数据表

首先要用use命令选择数据库

mysql> use mysql; --选择数据库
Database changed
mysql> show tables; --查询数据库里所有表
+------------------------------------------------------+
| Tables_in_mysql                                      |
+------------------------------------------------------+
| columns_priv                                         |
| component                                            |
| db                                                   |
| default_roles                                        |
| engine_cost                                          |
| func                                                 |
| general_log                                          |
| global_grants                                        |
| gtid_executed                                        |
| help_category                                        |
| help_keyword                                         |
| help_relation                                        |
| help_topic                                           |
| innodb_index_stats                                   |
| innodb_table_stats                                   |
| ndb_binlog_index                                     |
| password_history                                     |
| plugin                                               |
| procs_priv                                           |
| proxies_priv                                         |
| replication_asynchronous_connection_failover         |
| replication_asynchronous_connection_failover_managed |
| replication_group_configuration_version              |
| replication_group_member_actions                     |
| role_edges                                           |
| server_cost                                          |
| servers                                              |
| slave_master_info                                    |
| slave_relay_log_info                                 |
| slave_worker_info                                    |
| slow_log                                             |
| tables_priv                                          |
| time_zone                                            |
| time_zone_leap_second                                |
| time_zone_name                                       |
| time_zone_transition                                 |
| time_zone_transition_type                            |
| user                                                 |
+------------------------------------------------------+
38 rows in set (0.02 sec)

其他用法

1. show tables或show tables from database_name; -- 显示当前数据库中所有表的名称。 
2. show databases; -- 显示mysql中所有数据库的名称。 
3. show columns from table_name from database_name; 或show columns from database_name.table_name; -- 显示表中列名称。 
4. show grants for user_name; -- 显示一个用户的权限,显示结果类似于grant 命令。 
5. show index from table_name; -- 显示表的索引。 
6. show status; -- 显示一些系统特定资源的信息,例如,正在运行的线程数量。 
7. show variables; -- 显示系统变量的名称和值。 
8. show processlist; -- 显示系统中正在运行的所有进程,也就是当前正在执行的查询。大多数用户可以查看他们自己的进程,但是如果他们拥有process权限,就可以查看所有人的进程,包括密码。 
9. show table status; -- 显示当前使用或者指定的database中的每个表的信息。信息包括表类型和表的最新更新时间。 
10. show privileges; -- 显示服务器所支持的不同权限。 
11. show create database database_name; -- 显示create database 语句是否能够创建指定的数据库。 
12. show create table table_name; -- 显示create database 语句是否能够创建指定的数据库。 
13. show engines; -- 显示安装以后可用的存储引擎和默认引擎。 
14. show innodb status; -- 显示innoDB存储引擎的状态。 
15. show logs; -- 显示BDB存储引擎的日志。 
16. show warnings; -- 显示最后一个执行的语句所产生的错误、警告和通知。 
17. show errors; -- 只显示最后一个执行语句所产生的错误。 
18. show [storage] engines; --显示安装后的可用存储引擎和默认引擎。

create创建语句

创建数据库

create database 数据库名; -- 创建数据库

 

创建数据表

一样要先使用use命令选择要操作的数据库

在 MySQL 中,可以使用 CREATE TABLE 语句创建表。其语法格式为:
CREATE TABLE <表名> ([表定义选项])[表选项][分区选项];其中,[表定义选项]的格式为:
<列名1> <类型1> [,…] <列名n> <类型n>CREATE TABLE 命令语法比较多,其主要是由表创建定义(create-definition)、表选项(table-options)和分区选项(partition-options)所组成的。

 例如 :

auto_increment表示该字段是自增,primary key表示该字段是主键,主键和自增要一起存在

创建用户

详见上文用户管理中新增用户页

drop删除语句

删除数据库

drop 数据库名;

删除数据表

drop table 数据表名;

删除用户

drop user 用户名;

insert插入数据

insert into语法:

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
  • table_name 是你要插入数据的表的名称。
  • column1column2column3, ... 是表中的列名。
  • value1value2value3, ... 是要插入的具体数值。

如果数据是字符型或日期,必须使用单引号 ' 或者双引号 ",如: 'value1', "value1"。

例如:

select查询语句

mysql中通用的select语法:

SELECT column1, column2, ...
FROM table_name
[WHERE condition]
[ORDER BY column_name [ASC | DESC]]
[LIMIT number];
  • column1column2, ... 是你想要选择的列的名称,如果使用 * 表示选择所有列。
  • table_name 是你要从中查询数据的表的名称。
  • WHERE condition 是一个可选的子句,用于指定过滤条件,只返回符合条件的行。
  • ORDER BY column_name [ASC | DESC] 是一个可选的子句,用于指定结果集的排序顺序,默认是升序(ASC)。
  • LIMIT number 是一个可选的子句,用于限制返回的行数。

例如查询数据表里的所有数据:

 where子句

通用语法:

SELECT column1, column2, ...
FROM table_name
WHERE condition;
  • column1column2, ... 是你要选择的列的名称,如果使用 * 表示选择所有列。
  • table_name 是你要从中查询数据的表的名称。
  • WHERE condition 是用于指定过滤条件的子句。
操作符描述实例
=等号,检测两个值是否相等,如果相等返回true(A = B) 返回false。
<>, !=不等于,检测两个值是否相等,如果不相等返回true(A != B) 返回 true。
>大于号,检测左边的值是否大于右边的值, 如果左边的值大于右边的值返回true(A > B) 返回false。
<小于号,检测左边的值是否小于右边的值, 如果左边的值小于右边的值返回true(A < B) 返回 true。
>=大于等于号,检测左边的值是否大于或等于右边的值, 如果左边的值大于或等于右边的值返回true(A >= B) 返回false。
<=小于等于号,检测左边的值是否小于或等于右边的值, 如果左边的值小于或等于右边的值返回true(A <= B) 返回 true。

例如,我们要查询id=1的数据:

like子句

通常where子句用于筛选指定的记录,而like子句用于获取指定条件的的记录

如我们要获取名字是z开头的数据:

delete删除语句

语法:

DELETE FROM table_name
WHERE condition;
  • table_name 是你要删除数据的表的名称。
  • WHERE condition 是一个可选的子句,用于指定删除的行。如果省略 WHERE 子句,将删除表中的所有行。

例如我们删除id=1的记录:

 未完更新


http://www.ppmy.cn/news/1537227.html

相关文章

Java之方法

方法&#xff08;函数&#xff09; Java中的方法必须定义在类或接口中。 package day2;import java.util.Scanner;public class way {public static void main(String[] args) {int arr[] new int[5];Scanner sc new Scanner(System.in);for (int i 0; i < arr.length;…

5个免费ppt模板网站推荐!轻松搞定职场ppt制作!

每次过完小长假&#xff0c;可以明显地感觉到&#xff0c;2024这一年很快又要结束了&#xff0c;不知此刻的你有何感想呢&#xff1f;是满载而归&#xff0c;还是准备着手制作年终总结ppt或年度汇报ppt呢&#xff1f; 每当说到制作ppt&#xff0c;很多人的第一反应&#xff0c…

大模型笔记05--coze经典案例分析

大模型笔记05--coze经典案例分析 介绍经典案例分析抖音视频转小红书文案艺术照 & 卡通照片助手艺术照图像流卡通照片图像流多功能图像助手 注意事项说明 介绍 扣子是新一代 AI 应用开发平台&#xff0c;具备完善的生态系统&#xff0c;是国内最出色的AI平台之一。用好coze…

C语言 | 第十三章 | 二维数组 冒泡排序 字符串指针 断点调试

P 120 数组应用案例 2023/1/29 一、应用案例 案例一&#xff1a;创建一个char类型的26个元素的数组&#xff0c;分别 放置’A’-Z‘。使用for循环访问所有元素并打印出来。提示&#xff1a;字符数据运算 ‘A’1 -> ‘B’ #include<stdio.h>void main(){/*创建一个c…

Linux云计算 |【第四阶段】RDBMS1-DAY5

主要内容&#xff1a; 试图概述&#xff08;创建视图VIEW、修改、查看、删除&#xff09;、变量&#xff08;全局变量、会话变量、用户变量、局部变量&#xff09;、存储过程&#xff08;创建、调用、删除存储过程&#xff09;、流程控制结构&#xff08;分支结构&#xff1a;…

蓝桥杯【物联网】零基础到国奖之路:十二. TIM

蓝桥杯【物联网】零基础到国奖之路:十二. TIM 第一节 理论知识第二节 cubemx配置 第一节 理论知识 STM32L071xx器件包括4个通用定时器、1个低功耗定时器&#xff08;LPTIM&#xff09;、2个基本定时器、2个看门狗定时器和SysTick定时器。 通用定时器&#xff08;TIM2、TIM3、…

vue3常用组件通信方法

title: vue3常用组件通信方法 date: 2024-10-06 15:00:54 tags: vue3 组件通信 一、父传子—defineProps 1.父亲 通过属性传值 2.儿子 通过defineProps接收相关的数据 二、子传父 1&#xff09;使用defineExposeref 1.子组件 在子组件中使用defineExpose先暴露出来 2.父…

【C++篇】虚境探微:多态的流动诗篇,解锁动态的艺术密码

文章目录 C 多态详解&#xff08;进阶篇&#xff09;前言第一章&#xff1a;多态的原理1.1 虚函数表的概念1.1.1 虚函数表的生成过程 1.2 虚表的存储位置 第二章&#xff1a;动态绑定与静态绑定2.1 静态绑定2.1.1 静态绑定的实现机制&#xff1a;2.1.2 示例代码&#xff1a; 2.…