MySQL 基础命令

目录

一、MySQL简介

1.MySQL 的主要特点包括

2.MySQL 的主要用途包括:

二、MySQL 基础命令

1. 基本操作

1.1 进入

1.2 选择数据库

1.3 修改密码

1.4 所有命令后面都要加 “;”

2. 创建

2.1 创建数据库

2.2 创建数据表

2.3 常见字段

3. 修改/更新

3.1 添加表字段

3.2 删除表字段

3.3 修改表名

3.4 修改表选项

3.5 修改表字段类型

3.6 修改表字段位置

3.7 更新数据

4. 删除

4.1 删除数据库

4.2 删除表

4.3 删除索引

4.4 删除用户

4.5 删除数据

5. 插入

5.1 插入数据

5.2 从一个表中选择数据并插入到另一个表中

6. 查看

6.1 查看数据库

6.2 查看告警

6.3 查看创建的数据库

6.4 查看表

6.5 查看表中含有 `new` 的数据表

6.6 查看单个表的详细字段内容

7. 通配符

8. 查询

8.1 查询表中的所有数据

8.2 查询指定字段

8.3 查询带有条件的数据

8.4 查询排序后的数据

8.5 获取 ASCII 值

8.6 二进制转换

8.7 获取时间

9. 条件的运用方式

9.1 WHERE 子句

9.2 GROUP BY 子句

10. 赋权

10.1 显示权限

10.2 创建用户

10.3 赋权


一、MySQL简介

        MySQL 是一种开源的关系型数据库管理系统(RDBMS),由 Oracle Corporation 开发和维护。它使用结构化查询语言(SQL)进行数据库管理和操作。MySQL 是最流行的数据库系统之一,尤其适用于 Web 应用程序和小型到中型企业的数据库需求。

1.MySQL 的主要特点包括

  • 开源:MySQL 是开源软件,用户可以自由下载、使用和修改源代码。
  • 跨平台:支持多种操作系统,包括 Windows、Linux 和 macOS。
  • 高性能:MySQL 具有高效的查询处理能力,适用于处理大量的数据。
  • 可扩展性:支持从小型应用到大型企业级应用的各种规模,能够处理大规模的数据和高并发的请求。
  • 高可靠性:提供数据备份和恢复功能,支持高可用性配置,如主从复制和集群。
  • 易于管理:提供多种管理工具,如 MySQL Workbench,用于简化数据库设计和管理。

2.MySQL 的主要用途包括:

  • Web 应用程序:MySQL 是许多网站和 Web 应用程序的数据库后台,如 WordPress、Drupal 和 Joomla。
  • 电子商务:用于存储和管理在线商店的数据,如产品信息、客户数据和订单记录。
  • 数据仓库:用于存储和分析大量的数据,支持报表和数据挖掘。
  • 企业应用:用于存储和管理企业内部的业务数据,如财务、库存和员工信息。
  • 移动应用:作为移动应用的后端数据库存储数据。

二、MySQL 基础命令

常用命令:

mysql -uroot -pxxx;

show databases;

show tables;

create database xxx;

create table xxx;

select * from 表名;

1. 基本操作

1.1 进入

mysql -uroot -pxxx;

xxx为密码

1.2 选择数据库

要使用某个数据库才可以进行创建表等操作。

use 数据库名;

1.3 修改密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

1.4 所有命令后面都要加 “;

2. 创建

2.1 创建数据库

create database mydb;

create database if not exists mydb;

2.2 创建数据表

需要先进入数据库才能创建表。

use mydb;

例子,创建users表

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name CHAR(50) NOT NULL,
    email VARCHAR(100) UNIQUE NOT NULL,
    age INT,
    balance DECIMAL(10,2),
    birthdate DATE,
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
 updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE  CURRENT_TIMESTAMP,
    is_active BOOLEAN DEFAULT TRUE,
    profile TEXT,
    avatar BLOB
);

2.3 常见字段

  • 主键(PRIMARY KEY):用于唯一标识表中的每一行,通常设置为自增,每张表必须要有一个主键。
  • char:定长字符串,长度为固定值。
  • varchar:变长字符串,长度为可变值。
  • INT:整数类型,通常用于存储整型数值。
  • date:用于存储日期值。
  • datetime:用于存储日期和时间值。
  • BOOLEAN:用于存储布尔值(TRUE 或 FALSE)。
  • TEXT:用于存储大文本数据。
  • BLOB:用于存储二进制大对象(例如图像、文件等)。
  • zerofill:数字位不够的补零,0填充。
  • float、double:不建议使用,第7位后四舍五入。使用定点数 decimal(10,2),设置这个列的精度为10位,其中包括小数点后两位,这个可以设置高精度38位。

3. 修改/更新

3.1 添加表字段

alter table 表名 add 列名 列定义 [first|after 列名];

alter table goods add quantity int after price;

3.2 删除表字段

alter table 表名 drop column 列名;

alter table goods drop column description;

3.3 修改表名

alter table 旧表名 rename 新表名;

alter table old to new;

rename table old to new;

3.4 修改表选项

alter table 表名 表选项 [=] 值;

alter table old charset = utf-8;

3.5 修改表字段类型

alter table 表名 modify 列名 新类型;

alter table goods modify price decimal(10,2);

3.6 修改表字段位置

alter table 表名 modify column 列名 列定义 first|after 列名;

alter table goods modify column name varchar(50) after id;

3.7 更新数据

update 表名 set 列名=新值 [where 条件];

update goods set price=5899 where id=2;

4. 删除

4.1 删除数据库

drop database 数据库名;

drop database if exists 数据库名;

4.2 删除表

drop table 表名;

drop table if exists 表名;

4.3 删除索引

drop index 索引名 on 表名;

drop index idx_name on goods;

4.4 删除用户

drop user 'username'@'host';

4.5 删除数据

delete from 数据表名 where 条件;

delete from goods where id=1;

5. 插入

5.1 插入数据

insert into 表名 values (1, '张三'), (2, '李四');

insert into 表名 (id, name) values (1, '张三'), (2, '李四');

int不要引号,其他需要加引号。

当插入全部字段时,可以不需要相应字段,但需要一一对应,其他情况需要指定字段。

5.2 从一个表中选择数据并插入到另一个表中

INSERT INTO 目标表 (列1, 列2, 列3, ...)

SELECT 源表列1, 源表列2, 源表列3, ...

FROM 源表

WHERE 条件;

INSERT INTO users_backup (id, name)

SELECT id, name

FROM users

WHERE age > 18;

6. 查看

6.1 查看数据库

show databases;

6.2 查看告警

show warnings;

6.3 查看创建的数据库

show create database 数据库名;

6.4 查看表

show tables;

6.5 查看表中含有 `new` 的数据表

show tables like '%new%';

6.6 查看单个表的详细字段内容

desc 表名;

SHOW COLUMNS FROM 表名;

7. 通配符

%:表示零个或多个字符

_:表示一个单个字符

8. 查询

8.1 查询表中的所有数据

select * from 表名;

select * from 表名\G;  -- 与上面相比,展示的方法不同

8.2 查询指定字段

select id, name from goods;

8.3 查询带有条件的数据

SELECT 列名 FROM 表名 WHERE 条件;

SELECT * FROM goods WHERE price > 100;

SELECT id, name FROM users WHERE age BETWEEN 18 AND 30;

8.4 查询排序后的数据

SELECT 列名 FROM 表名 ORDER BY 列名 [ASC|DESC];

SELECT * FROM goods ORDER BY price DESC;

SELECT id, name FROM users ORDER BY age ASC;

8.5 获取 ASCII 值

select ASCII("A");

8.6 二进制转换

select bin(65), length(bin(65));

8.7 获取时间

select now();         -- 获取当前日期时间

SELECT CURDATE();     -- 获取当前日期

SELECT CURTIME();     -- 获取当前时间

9. 条件的运用方式

9.1 WHERE 子句

用于筛选行,只返回符合特定条件的行。通常在查询中用来过滤数据,根据特定条件选择符合条件的行。

SELECT * FROM users WHERE age > 18;

9.2 GROUP BY 子句

用于对结果集进行分组,通常与聚合函数(例如 `COUNT()`、`SUM()`、`AVG()` 等)一起使用,以计算每个组的汇总值。

SELECT user_id, COUNT(*) FROM orders GROUP BY user_id;

10. 赋权

10.1 显示权限

show grants;

10.2 创建用户

CREATE USER 'username'@'host' IDENTIFIED BY 'password';

10.3 赋权

GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'host';

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

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

相关文章

PPT制作加速器:3款工具插件的演示文稿制作更高效

IvyhTools英豪插件 IvyhTools是一款功能强大的PPT插件,主要用于辅助用户进行各种PPT编辑和处理操作。该插件具备以下主要功能: 字体编辑:用户可以对PPT中的字体进行编辑和调整。 动图录制:支持录制动态图像,方便用户在…

Codeforces Round 970 (Div. 3) (个人题解)(未补完)

前言: 昨天晚上的比赛,可惜E题太笨了没想到如何解决,不过好在看到F过的多直接跳过去写F了,能过个5个也还不错了,而且一个罚时也没吃。之后的题我还是会再能补的时候补完的噢! 正文: 链接&…

PLUTO: 推动基于模仿学习的自动驾驶规划的极限

PLUTO: Pushing the Limit of Imitation Learning-based Planning for Autonomous Driving PLUTO: 推动基于模仿学习的自动驾驶规划的极限 https://arxiv.org/abs/2404.14327 Abstract We present PLUTO, a powerful framework that Pushes the Limit of imitation learn…

AJAX基础与进阶

一、express基本使用 1. 在最外层启动终端,添加文件 2. 创建 express 框架 // 1. 引入express const express require(express);// 2. 创建应用对象 const app express();// 3. 创建路由规则 //request 是对请求报文的封装 //response 是对响应报文的封装 app.g…

Java Excel转PDF(免费)

目前市面上 Excel 转 PDF 的组件较多: 收费:aspose、GcExcel、spire开源:jacob、itextpdf 其中收费的组件封装得比较好,代码简洁,转换的效果也很好,但收费也高得离谱: 为了成本考虑&#xff…

1、Django Admin学习模型

此专栏应用环境和模型基于此文 开发环境 系统:windows11 开发工具:vscode 开发语言:python 3.8 开发框架:django 3.2 数据库:mysql8.4.1 项目目录 settings 注册两个应用 INSTALLED_APPS [django.contrib.ad…

关于STC-ISP软件选项“下次下载用户程序时擦除用户EEPROM区”的质疑

1.以前,在用STC-ISP软件下载代码时,该选项一般都默认勾选!见图1;因没用到该功能无视; 2.近日,首次下载需写入一些用户核心数据,以后谁升级代码下载都不能查看和更改这些数据! 3.于…

eureka一

Eureka 什么是eureka eureka服务调用流程 springcloud技术栈应用 分布式理论 CAP CAP理想运行情况 CAP不理想运行情况 CAP取舍 BASE BASE原理 搭建单机注册中心 服务提供者 服务消费者 集群服务注册中心 eureka功能详解 核心功能演示 Eureka源码解析 lifecycle的start

[极客大挑战 2020]Greatphp1

知识点: 1. PHP原生类在CTF中的利用 2. <??> <> <?php echo?> 以及 <??> <> <?php ?> 的变形 3. 正则表达式的取反绕过 进入页面又是熟悉的php的代码审计. <?php error_reporting(0); class SYCLOVER {public $syc;public $l…

基于 R 语言的深度学习——简单回归案例

近年来深度学习在人工智能领域飞速发展&#xff0c;各行业的学者、研究人员纷纷涌入研究热潮。本文将从 R 语言角度来介绍深度学习并解决以下几个问题&#xff1a; 什么是深度学习&#xff1f; 相关深度学习包有哪些&#xff1f; 如何配置工作环境&#xff1f; 如何使用神经…

微服务--认识微服务

微服务架构的演变 1. 单体架构&#xff08;Monolithic&#xff09; 阶段描述&#xff1a;在单体应用时代&#xff0c;整个应用程序被设计为一个项目&#xff0c;并在一个进程内运行。这种架构方式开发简单&#xff0c;便于集中管理&#xff0c;但随着应用的复杂化&#xff0c…

【算法 动态规划 简单多状态 dp 问题】打家劫舍题型

打家劫舍题型 按摩师 (easy)解题思路代码 打家劫舍II &#xff08;medium&#xff09;解题思路代码 删除并获得点数&#xff08;medium&#xff09;解题思路代码 按摩师 (easy) 题目链接 该题是打家劫舍的变形 解题思路 状态表示 分析: 注意题目, 对于当天的预约, 可以接受…

C语言遇见的一些小问题

问题如下&#xff1a; 1&#xff1a;为什么这样的代码为报错 #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <algorithm> #include <cstdio> #include<string> #include<stdlib.h> using namespace std; int main() {int i …

mysql5.7 TIMESTAMP NOT NULL DEFAULT ‘0000-00-00 00:00:00‘ 换版8版本 引发的问题

mysql5.7 TIMESTAMP NOT NULL DEFAULT 0000-00-00 00:00:00 换版引发的问题 问题背景sql_mode上机演示5.78.4 问题背景 在项目mysql版本由5.7 换版到8.4版本后&#xff0c;我们进行回归测试时&#xff0c;却发现一个积年代码报错了&#xff0c;是数据库插入报的错 xxx can not…

华为IS-IS实验及配置

AR1配置 #进入ISIS进程 isis 1 #配置设备类型为Level-1is-level level-1 #定义区域和System-ID等信息network-entity 49.0001.0010.0000.0001.00 #ISIS邻居命名is-name AR1 #接口配置IP和启用ISIS interface GigabitEthernet0/0/0ip address 10.1.12.1 255.255.255.0 isis ena…

数仓基础(六):离线与实时数仓区别和建设思路

文章目录 离线与实时数仓区别和建设思路 一、离线数仓与实时数仓区别 二、实时数仓建设思路 离线与实时数仓区别和建设思路 ​​​​​​​一、离线数仓与实时数仓区别 离线数据与实时数仓区别如下&#xff1a; 对比方面 离线数仓 实时数仓 架构选择 传统大数据架构 …

Ribbon负载均衡底层原理

springcloude服务实例与服务实例之间发送请求&#xff0c;首先根据服务名注册到nacos&#xff0c;然后发送请求&#xff0c;nacos可以根据服务名找到对应的服务实例。 SpringCloudRibbon的底层采用了一个拦截器&#xff0c;拦截了openfeign发出的请求&#xff0c;对地址做了修…

【C++】将myString类中能够实现的操作都实现一遍

myString.h #ifndef MYSTERAM_H #define MYSTERAM_H #include <iostream> #include<cstring> using namespace std; class myString { private:char *str; //字符串int size; //字符串容量char error[20] "error"; public://无参构造myString():siz…

深入解析FPGA在SOC设计中的核心作用

在集成系统SoC设计中&#xff0c;CPU核心的嵌入至关重要&#xff0c;以实现软硬件的有效交互。此过程中涉及到功能IP&#xff08;如图像处理、无线通信等&#xff09;的验证和整合&#xff0c;利用硬件描述语言(HDL)来实现可编程逻辑(FPGA)&#xff0c;并通过验证技术提高设计效…

Django Admin对自定义的计算字段进行排序

通常&#xff0c;Django会为模型属性字段&#xff0c;自动添加排序功能。当你添加计算字段时&#xff0c;Django不知道如何执行order_by&#xff0c;因此它不会在该字段上添加排序功能。 如果要在计算字段上添加排序&#xff0c;则必须告诉Django需要排序的内容。你可以通过在…