MySQL 数据库、表的基本操作

目录

数据库

关系数据库SQL

关系数据库常用词汇

常用命令语句

数据库操作

查看数据库

创建数据库

修改数据库编码

删除数据库

数据表操作

查看数据表

创建数据表

表中数据操作


数据库

数据库是在数据管理和程序开发过程中,一种非常重要的数据管理方法,通过数据库,可以非常方便的对数据进行管理操作
数据库是数据的仓库,数据库按照一定的数据格式,结构来存储数据,方便数据和操作和管理。

关系数据库SQL
关系数据库,是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据,同时也是一个被组织成一组拥有正式描述性的表格,该形式的表格作用的实质是装载着数据项的特殊收集体,这些表格中的数据能以许多不同的方式被存取或重新召集而不需要重新组织数据库表格。关系数据库的定义造成元数据的一张表格或造成表格、列、范围和约束的正式描述。每个表格(有时被称为一个关系)包含用列表示的一个或更多的数据种类。 每行包含一个唯一的数据实体,这些数据是被列定义的种类。当创造一个关系数据库的时候,你能定义数据列的可能值的范围和可能应用于那个数据值的进一步约束。而
SQL 语言是标准用户和应用程序到关系数据库的接口。其优势是容易扩充,且在最初的数据库创造之后,一个新的数据种类能被添加而不需要修改所有的现有应用软件。主流的关系数据库有oracle db2 、sqlserver、 sybase mysql postgresql mysql 分支等。
关系数据库常用词汇
  • SQL  结构化查询语言(Structured Query Language)简称SQL
  • DBA  数据库管理员(Database Administrator,简称DBA
  • DB  数据库
  • DBMS  数据库管理系统
  • DBS  数据库系统
  • DDL  关系数据库 数据定义语言 语言DDL(Data Definition Language)
  • DMLdata manipulation language):它们是SELECTUPDATEINSERTDELETE,就像它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言
  • DDLdata definition language):DDLDML要多,主要的命令有CREATEALTERDROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用
  • DCLData Control Language):是数据库控制功能。是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句。在默认状态下,只有sysadmin,dbcreator,db_owner或db_securityadmin等人员才有权力执行DCL
  • RDBMS:关系数据库管理系统 Relational Database Management System
常用命令语句
  1. 查询 MySQL 版本号; MySQL 安装目录路径; MySQL 数据文件所在目录路径;MySQL 端口号; MySQL 主机名称。
  2. 查询用户所属主机名称;用户名称;用户密码哈希值(不显示明文);用户使用的插件名称。
  3. 查询当前使用的数据库名称;MySQL 版本号;当前日期时间;当前用户名称;当前日期;当前时间;当前日期时间的 Unix 时间戳格式。
  4. 查询 MySQL 支持的存储引擎列表。
  5. 查询 MySQL 支持的字符集列表。
  6. 查询 MySQL 设置的与字符相关的变量。
  7. 查看当前连接人数。
  8. 查询当前正在休眠或关闭的线程数量。
  9. 查看当前各用户连接数据库服务器的数量。
  10. 查询当前各个用户连接到 MySQL 服务器的线程数量,并按照线程数从大到小排序,限制输出前 20 条记录。

SELECT @@VERSION, @@BASEDIR, @@DATADIR, @@PORT, @@HOSTNAME;
-- SELECT @@VERSION: 查询 MySQL 版本号;
-- SELECT @@BASEDIR: 查询 MySQL 安装目录路径;
-- SELECT @@DATADIR: 查询 MySQL 数据文件所在目录路径;
-- SELECT @@PORT: 查询 MySQL 端口号;
-- SELECT @@HOSTNAME: 查询 MySQL 主机名称。SELECT HOST, USER, AUTHENTICATION_STRING, PLUGIN FROM mysql.USER;
-- SELECT HOST: 查询用户所属主机名称;
-- SELECT USER: 查询用户名称;
-- SELECT AUTHENTICATION_STRING: 查询用户密码哈希值(不显示明文);
-- SELECT PLUGIN: 查询用户使用的插件名称。SELECT DATABASE(), VERSION(), NOW(), CURRENT_USER(), CURDATE(), CURTIME(), UNIX_TIMESTAMP();
-- SELECT DATABASE(): 查询当前使用的数据库名称;
-- SELECT VERSION(): 查询 MySQL 版本号;
-- SELECT NOW(): 查询当前日期时间;
-- SELECT CURRENT_USER(): 查询当前用户名称;
-- SELECT CURDATE(): 查询当前日期;
-- SELECT CURTIME(): 查询当前时间;
-- SELECT UNIX_TIMESTAMP(): 查询当前日期时间的 Unix 时间戳格式。SHOW ENGINES;
-- 查询 MySQL 支持的存储引擎列表。SHOW CHARSET;
-- 查询 MySQL 支持的字符集列表。SHOW VARIABLES LIKE '%CHAR%';
-- 查询 MySQL 设置的与字符相关的变量。show status like 'threads%';
-- 查看当前连接人数SELECT COUNT(\*) AS `num` FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE = 'sleep' OR state='closing';
-- 查询当前正在休眠或关闭的线程数量。select user,count(*) from information_schema.processlist group by user;
-- 查看当前各用户连接数据库服务器的数量SELECT user, count(*) as num FROM INFORMATION_SCHEMA.PROCESSLIST GROUP BY user ORDER BY num DESC LIMIT 20;
-- 查询当前各个用户连接到 MySQL 服务器的线程数量,并按照线程数从大到小排序,限制输出前 20 条记录。
数据库操作
查看数据库

显示所有数据库

show databases;
-- 同义词
show schemas;
--模糊查询 like后面可以加速特征%
show databases like 'db%';

使用/切换数据库

use 数据库名
use 数据库名;
>>>use employees;
#  “;”不做强制要求

显示当前使用的数据库

select database();
创建数据库

创建

create database 数据库名;
>>>create database testdb;create database 数据库名 charset 编码格式;
>>> create database testdb charset utf8;create database 数据库名 character set 编码格式;
>>> create database testdb character set utf8;

查看创建数据库的信息

show create database 数据库名;
>>>show create database employees;
修改数据库编码

使用alter命令

alter database 数据库名 character set 编码格式;
>>>alter database employees character set utf8;
删除数据库
drop database 数据库名;
>>>drop database testdb;
数据表操作
查看数据表

查看所选数据库中所有的表

show tables;

显示表结构

desc 表名;
>>>desc student;
创建数据表

创建新的表

create table 表名(字段1 字段类型,字段2 字段类型,字段3 字段类型……);
>>>create table student(id int, name char(20), age int);

显示创建表时的信息

show create table 表名;
>>>show create table student;  #表格显示信息
>>>show create table student \G;  # 垂直显示信息

修改表结构

alter table 表名 modify 字段名 类型;
>>>alter table student modify name varchar(20);

增加字段

alter table 表名 add 字段名 数据类型
>>>alter table student add gender char(4);

删除字段

alter table 表名 drop 字段名;
>>> alter table student drop gender;

修改字段类型

alter table 表名 modify 字段名 类型;
>>>alter table student modify name varchar(20);

修改字段类型并命名

alter table 表名 change 原字段名 新字段名 类型;
>>>alter table student change id number smallint;
表中数据操作

插入数据

insert into 表名 [(字段名列表, ...)] values(值列表, ...)
>>>insert into student values(1,'tom',20);# 插入指定字段: 可以插入指定的字段,指定字段顺序和列中顺序可以不同,值顺序要和指定的列顺序相同。
>>>insert into student(age,name) values(20,'jack');# 插入多条数据
>>>insert into student values(2,'rose',20),(3,'tony',22);

删除数据

# 删除全部数据 
truncate 表名;
>>>truncate stu;# 删除满足条件的数据
delete from 表名 where 字段名 = 数据;
>>>delete from stu where snumber = 1;

修改数据

update 表名 set 字段=值 [条件]# 更新所有的数据
>>>update student set age=25;# 更新满足条件的数据
>>>update student set name='mike' where name='tony';

数据库的查询命令较多,后续将在另一篇文章更新。

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

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

相关文章

Express中间件

1.创建最基本的中间件 const express require(express); const send require(send);const app express()const mw function (req, res, next) {console.log(middleware);// 一定要调用next() 把流转关系交给下一个中间件或路由next() }app.listen(80, () > {console.l…

SpringBoot —程序包org.springframework.boot.test.context不存在

一. 遇到问题 &#xff1a;程序包org.springframework.boot.test.context不存在 发生错误的原因是项目中缺少spring-boot-starter-test依赖导致的&#xff0c;解决方案如下: 在项目根目录的pom.xm文件中的<dependencies>节点下增加以下依赖即可&#xff1a; <depen…

【ARM 常见汇编指令学习 7 - LDR 指令与LDR伪指令及 mov指令】

文章目录 LDR 指令LDR伪指令LDR伪指令与MOV区别 上篇文章&#xff1a;ARM 常见汇编指令学习 6 - bic(位清除), orr(位或), eor(异或) 下篇文章&#xff1a;ARM 常见汇编指令学习 8 - dsb sy 指令及 dsb 参数介绍 LDR指令 与 LDR伪指令 两者虽然名字相同但是作用却不相同&#x…

uniApp 插件 Fvv-UniSerialPort 使用实例

接上一篇 uniApp 对接安卓平板刷卡器, 读取串口数据 , 本文将详细介绍如何使用插件读取到串口数据 原理 通过uniApp 插件读取设备串口数据, 解析后供业务使用; 步骤 创建uniApp 项目;添加插件 安卓串口通信 Fvv-UniSerialPort 安卓串口通信 Fvv-UniSerialPort - DCloud 插件…

PoseiSwap:通过 RWA 的全新叙事,反哺 Nautilus Chain 生态

PoseiSwap 是 Nautilus Chain 上的首个 DEX&#xff0c;作为目前行业内模块化区块链叙事的早期奉行者&#xff0c;PoseiSwap 也得到了较高的市场关注。基于 Nautilus Chain&#xff0c;PoseiSwap 打造了一个全新的 Rollup 应用层&#xff0c;并通过零知识证明来建立全新的订单簿…

刷完这个笔记,15K真的不能再少了....

大家好&#xff0c;最近有不少小伙伴在后台留言&#xff0c;得准备面试了&#xff0c;又不知道从何下手&#xff01;为了帮大家节约时间&#xff0c;特意准备了一份面试相关的资料&#xff0c;内容非常的全面&#xff0c;真的可以好好补一补&#xff0c;希望大家在都能拿到理想…

SQL-每日一题【1174. 即时食物配送 II】

题目 配送表: Delivery 如果顾客期望的配送日期和下单日期相同&#xff0c;则该订单称为 「即时订单」&#xff0c;否则称为「计划订单」。 「首次订单」是顾客最早创建的订单。我们保证一个顾客只会有一个「首次订单」。 写一条 SQL 查询语句获取即时订单在所有用户的首次订…

解决Vue3 使用Element-Plus导航刷新active高亮消失

解决Vue3 使用Element-Plus导航刷新后active高亮消失的问题 启用路由模式会在激活导航时以 index 作为 path 进行路由跳转 使用 default-active 来设置加载时的激活项。 接下来打印一下选中项index和index路径&#xff0c; 刷新也是没有任何问题的&#xff0c;active不会消失…

资产盘点流程及注意事项

公司在引进固定资产管理的同时&#xff0c;也广泛加快了信息化工作的进程。现代计算机技术、条码技术、条码技术等都不能满足传统的固资管理机制&#xff0c;RFID技术、硬件扫描技术、提高固定资产管理流程、固定资产管理和统计等方面的特殊要求。科学规范地管控企业有形资产的…

Java超级玛丽小游戏制作过程讲解 第一天 创建窗口

package com.sxt;import javax.swing.*; import java.awt.event.KeyEvent; import java.awt.event.KeyListener;public class MyFrame extends JFrame implements KeyListener {//设置窗口的大小为800*600public MyFrame() {this.setSize(800, 600);//设置窗口中显示this.setLo…

机器学习的关键词和算法总结

随着全球各行业的数据治理、数字化转型智能化辅助的引入发展&#xff0c;机器学习&#xff08;包括深度学习&#xff09;在逐步深入到各行各业&#xff0c;所以&#xff0c;有必要对机器学习的常见术语&#xff0c;经典算法及应用场景进行一次总结&#xff0c;其实机器学习兴起…

深度学习各层负责什么内容?

1、深度学习——神经网络简介 深度学习(Deep Learning)(也称为深度结构学习【Deep Structured Learning】、层次学习【Hierarchical Learning】或者是深度机器学习【Deep Machine Learning】)是一类算法集合&#xff0c;是机器学习的一个分支。 深度学习方法近年来&#xff0c…

8.3day04git+数据结构

文章目录 git版本控制学习高性能的单机管理主机的心跳服务算法题 git版本控制学习 一个免费开源&#xff0c;分布式的代码版本控制系统&#xff0c;帮助开发团队维护代码 作用&#xff1a;记录代码内容&#xff0c;切换代码版本&#xff0c;多人开发时高效合并代码内容 安装g…

【多模态】23、RO-ViT | 基于 Transformer 的开发词汇目标检测(CVPR2023)

文章目录 一、背景二、方法2.1 基础内容2.2 Region-aware Image-text Pretraining2.3 Open-vocabulary Detector Finetuning 三、效果3.1 细节3.2 开放词汇目标检测效果3.3 Image-text retrieval3.4 Transfer object detection3.5 消融实验 论文&#xff1a;Region-Aware Pretr…

【数据结构与算法】TypeScript 实现图结构

class Grapg<T> {// 用于存储所有的顶点verteces: T[] [];// 用于存储所有的边 采用邻接表的形式adjList: Map<T, T[]> new Map();// 添加顶点addVertex(v: T) {this.verteces.push(v);// 初始化顶点的邻接表this.adjList.set(v, []);}// 添加边addEdge(v: T, w:…

自动化测试Junit(测试系列8)

目录 前言&#xff1a; 1.什么是Junit 2.Junit相关的技术 2.1注解 2.1.1Test 2.1.2Disable 2.1.3BeforeAll和AfterAll 2.1.4BeforeEach和AfterEach 2.2参数化 2.2.1单参数 2.2.2多参数 2.2.2.1CSV获取参数 2.2.2.2方法获取参数 2.3测试套件 2.3.1通过class运行测…

hutool工具集验证手机号码和自定义验证手机号码

使用 Hutool 工具集对手机号码进行验证&#xff0c;你可以使用 Validator.isMobile 方法。以下是示例代码&#xff1a; import cn.hutool.core.lang.Validator;public class Example {public static void main(String[] args) {String phoneNumber "手机号码"; //…

vue3引用Font-Awesome字体图标库

环境&#xff1a;vue3tsviteelement plus 介绍&#xff1a;这里安装引用的是Font-Awesome 6.x 版本&#xff0c;有专业版&#xff08;付费&#xff09;&#xff0c;这里只介绍免费版字体使用方法 一、安装 1.使用npm安装&#xff0c;终端打开项目目录或者命令行cd到目录文件夹…

面向对象程序三大特性一:多态(超详细)

目录 1.重写 1.1基本语法规则 1.2规则深化 1.3重写与重载的区别 2.向上转型 2.1简单介绍 2.3向上转型的作用 3.向下转型 3.1介绍 3.2instanceof 基本介绍 4.多态 4.1多态实现条件 4.2避免在构造方法中调用重写的方法 1.重写 重写 (override) &#xff1a;也称为覆…

vscode 快捷键

今天好闲 就记一些学的东西吧~ vscode 快捷键 快速生成头文件注释&#xff1a;Ctrlalti 快速生成方法注释&#xff1a;Ctrlaltt 新建窗口&#xff1a;CtrlShiftn 查找&#xff1a;Ctrlf 替换&#xff1a;Ctrlh 替换所有&#xff1a;CtrlAltEnter 打开上一个编辑器&#xff1a;…