首页 > 数据库 >MySQL 基础命令

MySQL 基础命令

时间:2024-09-02 21:24:48浏览次数:14  
标签:数据库 MySQL 基础 命令 表名 table alter SELECT

目录

一、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';

标签:数据库,MySQL,基础,命令,表名,table,alter,SELECT
From: https://blog.csdn.net/FHY26828/article/details/141005238

相关文章

  • opencv学习:基础用法和图像添加边界框设置
    1.opencv基础用法1.从文件加载图像a=cv2.imread("1.jpg")b=cv2.imread("2.jpg")2.从文件读取视频video=cv2.VideoCapture("1.mp4")3.读摄像头cv2.VideoCapture(0)4.保存图片cv2.imwrite(r"1_gray.jpg",b)5.展示图片cv2.imshow("shuiju",a)6.释......
  • Redis基础知识学习笔记(三)
    文章目录Redis命令一.Redis命令1.启动redis服务器2.本地启动redis客户端3.远程启动redis客户端4.测试是否建立连接二.Redis键(key)RedisKey相关命令三.Redis字符串(String)Redis字符串命令四.Redis哈希(Hash)Redis字符串命令五.Redis列表(List)Redis列表命......
  • C基础练习
    c基础练习题设有说明:charw;intx;doubley;则表达式w*x-y值的数据类型为()。A.float   B.char    C.int    D.double答案:D解析:在C语言中,当不同类型的数据进行算术运算时,较低类型的数据会被提升(或称为转换)到较高类型的数据。此处类型最高的是doubl......
  • 基于centos7.5安装mysql8
    @目录环境初始化部署mysql配置主从报错问题解决重启集群操作环境初始化mysql官网下载使用环境VMware17,centos7.5节点IPmysql01192.168.200.20mysql02192.168.200.21初始化两台节点;免密,主机名,主机映射等viinit.sh#!/bin/bash#定义节点信息NODES=("1......
  • TLS证书生成-openssl基本命令
    文章目录CA证书一、服务器证书二、客户端证书三、哈希散列证书存储四、证书命令CA证书  CA证书是证书颁发机构(CertificateAuthority)颁发的证书,用于在互联网通信中建立信任关系,是SSL/TLS协议实施中不可或缺的一部分,使得传输的数据加密并保证通信安全。CA证书的......
  • 如何用MySQL设计一个高效的关系数据库架构
    如何用MySQL设计一个高效的关系数据库架构设计一个高效的关系数据库架构是确保数据库性能、可维护性和扩展性的关键。一个良好的数据库设计不仅能够提高查询效率,还能减少数据冗余,降低维护成本。以下将详细介绍如何用MySQL设计一个高效的关系数据库架构,包括设计原则、规范......
  • Mysql基础练习题 610.判断三角形 (力扣)
    题目:对每三个线段报告它们是否可以形成一个三角形题目连接:https://leetcode.cn/problems/triangle-judgement/description/建表插入数据:CreatetableIfNotExistsTriangle(xint,yint,zint)TruncatetableTriangleinsertintoTriangle(x,y,z)values('13'......
  • MySQL复习2
    高级查询准备createdatabasegreatselect;usegreatselect;droptableifexists`class`;createtable`class`(`cid`int(11)notnullauto_increment,`caption`varchar(32)notnull,primarykey(`cid`))engine=innoDBAUTO_INCREMENT=5de......
  • JAVA基础:对象流
    目录前言序列化和反序列化对象流的创建前言之前的流我们都是使用他们读取一些字节或者字符的数据,但是在实际的应用中数据的类型除了基本数据类型之外,还有引用数据类型,对象流就是能读取引用数据类型的流序列化和反序列化对象流的本质是一个字节流,也是过程流对象流的......
  • 【Java 基础】类和对象(构造&this&封装&static&代码块)
    ✨                           风起于青萍之末,浪成于微澜之间    ......