MySQL 教程---菜鸟教程

news/2024/11/29 19:50:59/

文章目录

  • MySQL 教程
  • 登录 MySQL
  • 数据库操作
  • 数据类型
  • 创建数据表
  • 删除数据表
  • 插入数据
  • 查询数据

MySQL 教程

关系型数据库管理系统(RDBMS)
RDBMS 术语:

  • 数据库:数据库是一些关联表的集合。
  • 数据表:表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
  • 列:一列包含了相同类型的数据,例如邮政编码的数据。
  • 行:一行是一组相关的数据,例如一条用户订阅的数据。
  • 冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。
  • 主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。
  • 外键:用于关联两个表。
  • 复合键:复合键将多个列作为一个索引键,一般用于复合索引。
  • 索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排列的一种结构。类似于书籍的目录。
  • 参照完整性:参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。

MySQL 为关系型数据库(Relational Database Management System), 这种所谓的"关系型"可以理解为"表格"的概念, 一个关系型数据库由一个或数个表格组成, 如图所示的一个表格:
请添加图片描述

  • 表头(header): 每一列的名称;
  • 列(col): 具有相同数据类型的数据的集合;
  • 行(row): 每一行用来描述某条记录的具体信息;
  • 值(value): 行的具体信息, 每个值必须与该列的数据类型相同;
  • 键(key): 键的值在当前列中具有唯一性。

登录 MySQL

如果我们要登录本机的 MySQL 数据库,只需要输入以下命令即可:

mysql -u root -p

按回车确认, 如果安装正确且 MySQL 正在运行, 会得到以下响应:

Enter password:

若密码存在, 输入密码登录, 不存在则直接按回车登录。登录成功后你将会看到 Welcome to the MySQL monitor... 的提示语。

然后命令提示符会一直以 mysql> 加一个闪烁的光标等待命令的输入, 输入 exit 或 quit 退出登录。

数据库操作

创建数据库:
CREATE DATABASE 数据库名;
删除数据库:
drop database 数据库名;
选择数据库:
use 数据库名;

数据类型

MySQL 支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。

数值类型
MySQL 支持所有标准 SQL 数值数据类型。

这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL 和 NUMERIC),以及近似数值数据类型(FLOAT、REAL 和 DOUBLE PRECISION)。

日期和时间类型
表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。

字符串类型
字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。

创建数据表

以下为创建MySQL数据表的SQL通用语法:

CREATE TABLE table_name (column_name column_type);

以下例子中我们将在 RUNOOB 数据库中创建数据表runoob_tbl:

USE RUNOOB;
CREATE TABLE IF NOT EXISTS runoob_tbl(runoob_id INT UNSIGNED AUTO_INCREMENT,runoob_title VARCHAR(100) NOT NULL,runoob_author VARCHAR(40) NOT NULL,submission_date DATE,PRIMARY KEY (runoob_id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

实例解析:

如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。
AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。
PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。
ENGINE 设置存储引擎,CHARSET 设置编码。

删除数据表

以下为删除MySQL数据表的通用语法:

DROP TABLE table_name ;

USE RUNOOB;
DROP TABLE runoob_tbl;

插入数据

以下为向MySQL数据表插入数据通用的 INSERT INTO SQL语法:

INSERT INTO table_name ( field1, field2,...fieldN )VALUES( value1, value2,...valueN );

以下实例中我们将向 runoob_tbl 表插入三条数据:

use RUNOOB;
INSERT INTO runoob_tbl 
(runoob_title, runoob_author, submission_date)
VALUES
("学习 PHP", "菜鸟教程", NOW()),
("学习 MySQL", "菜鸟教程", NOW()),
("JAVA 教程", "RUNOOB.COM", '2016-05-06');

在这里插入图片描述

查询数据

以下实例将返回数据表 runoob_tbl 的所有记录:

读取数据表:

select * from runoob_tbl;
在这里插入图片描述


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

相关文章

Vivado HLS 第1讲 软件工程师该怎么了解FPGA架构

Vivado HLS是将基于C/C++描述的算法转化成相应的RTL代码,最终在FPGA上实现。这就要求软件工程师对FPGA的内部架构有一些基本的认识,目的在于保证生成的RTL代码在性能和资源上能够达到很好的平衡。实际上,C语言与FPGA是有一些对应关系的。比如: C语言中的数组可对应于FPGA中…

【题解】[ABC278F] Shiritori

link 第一次见黄色的状压 dp 呢…… 题目大意 就是单词接龙啦。每个单词只能用一次,接龙单词最后一个字母和第一个字母要相同。然后两个人博弈。 题解 这个数据范围和题面,显然是状压 dp. 考虑设 f [ s t a t e ] [ i ] f[state][i] f[state][i] …

Http与Https 比较

目录 1、HTTP(HyperText Transfer Protocol:超文本传输协议) 2、HTTPS(Hypertext Transfer Protocol Secure:超文本传输安全协议) 3、HTTP 与 HTTPS 区别 4、HTTPS 的工作原理 1、HTTP(HyperTex…

rem和em的区别和使用场景,以及如何在实际开发中灵活运用它们

在前端开发中,我们经常使用rem和em作为长度单位来设置页面元素的大小。虽然它们都可以用于实现响应式布局,但是它们之间存在着一些区别。本文将深入探讨rem和em的区别和使用场景,以及如何在实际开发中灵活运用它们。 什么是rem rem是相对于…

Dynamics 365 自动化发布工具Spkl介绍

本篇主要是为了后面讲述CI/CD时用到的工具做一个说明,先奉上spkl的github地址,没听说过的可以去查看下,挺不错的工具。 我们主要用这个工具来部署WebResource, Plugin和Workflow Activities 以及后续的CI 首先从nuget上下载工具包&#xff0c…

今天面了个京东拿28K 出来的,让我见识到了测试界的天花板

今年的春招基本已经结束了,很多小伙伴收获不错,拿到了心仪的 offer。 各大论坛和社区里也看见不少小伙伴慷慨地分享了常见的软件测试面试题和八股文,为此咱这里也统一做一次大整理和大归类,这也算是划重点了。 俗话说得好&#…

python柱状图类VisualMapOpts方法说明

# 这是一个类,继承了 BasicOpts 类 class VisualMapOpts(BasicOpts): # 初始化函数,定义了一些参数及其默认值。其中包括 range_color、range_size、和 range_opacity 等参数 def __init__( self, is_show: bool True, # 是否…

node笔记_写文件(异步写入,同步写入,追加写入,流式写入)

文章目录 ⭐前言⭐写文件💖writeFile写入写一个txt文件 💖writeFileSync同步写入写一个txt文件 💖appendFile 追加写入追加写入一个txt 💖createWriteStream流式写入流式写入txt ⭐ 结束 ⭐前言 大家好,我是yma16&…