MySQL教程 基本知识(基本原理和标准语言)

发布于:2025-03-21 ⋅ 阅读:(13) ⋅ 点赞:(0)

系列文章目录

数据库的原理及应用(MySQL版)


文章目录


前言

    想必大家都会有一个疑问,就是我们为什么要学习数据库或者说我们为什么要使用数据库,像我平常会使用Java我们可以把数据存储在文件中,但是在文件中读写数据速度较慢,所以我们的数据库就要闪亮登场的吧。


      

一、什么是数据库:

     数据库(DataBase)是按照数据结构来组织,存储和管理数据的仓库。每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。

现在我们使用关系型数据库管理系统(RDBMS)来存储和管理大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。

RDBMS 即关系数据库管理系统(Relational Database Management System)的特点:

  • 1.数据以表格的形式出现
  • 2.每行为各种记录名称
  • 3.每列为记录名称所对应的数据域
  • 4.许多的行和列组成一张表单
  • 5.若干的表单组成database

              来让我们看一下数据库在计算机系统中的地位

MySQL 为关系型数据库(Relational Database Management System), 这种所谓的"关系型"可以理解为"表格"的概念, 一个关系型数据库由一个或数个表格组成

    SQL的概述:

Structure Query Language(结构化查询语言)简称SQL,它被美国国家标准局(ANSI)确定为关系型数据库语言的美国标准,后被国际化标准组织(ISO)采纳为关系数据库语言的国际标准。数据库管理系统可以通过SQL管理数据库;定义和操作数据,维护数据的完整性和安全性。

     SQL数据库的体系结构:

   (1)SQL用户可以是应用程序,也可以是终端用户。SQL语言可以被嵌入在宿主语言的程序(例如python,Java,C++)中使用,也可以作为独立的用户接口在DBMS环境下被用户直接使用。

  (2)SQL用户可以用SQL语言对基本表和视图进行查询。

  (3)一个视图是从若干基本表或其他视图上导出的表。在数据库中只存放该视图的定义,不存在该视图所对应的数据,这些数据仍然存放在导出该视图的基本表中。因此可以说视图是一个虚表。

    SQL的特点:

1、简单易学,具有很强的操作性
2、绝大多数重要的数据库管理系统均支持SQL
3、高度非过程化;用SQL操作数据库时大部分的工作由DBMS自动完成

     SQL语言的组成:

    1.数据定义语言(DDL)

   DDL用来定义,修改,删除数据库中的各种对象,包括创建,修改,删除或者重命名模式对象(CREATE,ALTER,DROP,RENAME)的语句,以及删除表中所有行但不删除表(TRUNCATE)的语句等。

    2.数据操纵语言(DML)

  DML的命令用来查询,插入,修改,删除数据库中的数据,包括用于查询数据(SELECT),添加新行数据(INSERT),修改现有行数据(UPDATE),删除现有行数据(DELETE)的语句。

    3.数据控制语言(DCL)

   DCL用于事务控制,并发控制,完整性和安全性控制等。事务控制用于把一组DML语句组合起来形成一个事务并进行事务控制。这个我们后面再讲。

二、数据定义:

1.数据的定义和删除:

数据库是存放数据的容器,在设计一个应用系统时必须先设计数据库。在MySQL中,一个数据库服务器可以包含多个数据库,每个数据库存放在以数据库名字命名的文件夹中,用来存放该数据库中的各种表数据文件。

    1.创建数据库:

create database 数据库名;

2.选择数据库:

use 数据库名;

3.删除数据库:

DROP database 数据库名;

2.数据类型:

   数据类型在数据库中真是扮演特别重要的而又基础的角色,因为对数据类型的选择将影响与数据库交互的应用程序的性能。通常来说,如果在一个页面中可以存放尽可能多的行,那么数据库的性能就好;另外,如果数据库中创建表时选择了错误的数据类型,那么后期的维护成本可能就非常大,数据库管理员需要花大量时间进行ALTER TABLE的操作,因此选择一个正确的数据类型至关重要。

     在MySQL数据库中,每个数据都有数据类型。MySQL支持的数据类型主要分为4类,即字符串类型,数值类型,日期和时间类型,以及布尔类型。 

    数值类型:
类型 大小 范围(有符号) 范围(无符号) 用途
TINYINT 1 Bytes (-128,127) (0,255) 小整数值
SMALLINT 2 Bytes (-32 768,32 767) (0,65 535) 大整数值
MEDIUMINT 3 Bytes (-8 388 608,8 388 607) (0,16 777 215) 大整数值
INT或INTEGER 4 Bytes (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整数值
BIGINT 8 Bytes (-9,223,372,036,854,775,808,9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 极大整数值
FLOAT 4 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) 单精度
浮点数值
DOUBLE 8 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的值 小数值

常用的数据类型是INT,DECIMAL类型

日期和时间类型:
类型 大小
( bytes)
范围 格式 用途
DATE 3 1000-01-01/9999-12-31 YYYY-MM-DD 日期值
TIME 3 '-838:59:59'/'838:59:59' HH:MM:SS 时间值或持续时间
YEAR 1 1901/2155 YYYY 年份值
DATETIME 8 '1000-01-01 00:00:00' 到 '9999-12-31 23:59:59' YYYY-MM-DD hh:mm:ss 混合日期和时间值
TIMESTAMP 4

'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:07

YYYY-MM-DD hh:mm:ss 混合日期和时间值,时间戳
字符串类型:
CHAR 0-255 bytes 定长字符串
VARCHAR 0-65535 bytes 变长字符串
TINYBLOB 0-255 bytes 不超过 255 个字符的二进制字符串
TINYTEXT 0-255 bytes 短文本字符串
BLOB 0-65 535 bytes 二进制形式的长文本数据
TEXT 0-65 535 bytes 长文本数据
MEDIUMBLOB 0-16 777 215 bytes 二进制形式的中等长度文本数据
MEDIUMTEXT 0-16 777 215 bytes 中等长度文本数据
LONGBLOB 0-4 294 967 295 bytes 二进制形式的极大文本数据
LONGTEXT 0-4 294 967 295 bytes 极大文本数据

常用的是CHAR , VARCHAR类型

布尔类型:

布尔类型为BOOLEAN类型,它只有两个值——TRUE和FALSE,即真值和假植。

 3.基本表的定义,删除和修改:

创建表:
create table 表名
(<列名><数据类型> [default<默认值>]



);

        例子:

create table product(
p_code DECIMAL(6);
p_name VARCHAR(40);
p_price DECIMAL(5,2);
);
      修改表的结构:

  在基本表建立并使用一段时间后,可以根据实际需要对基本表的结构进行修改,及增加新的列,删除原有的列或修改列的数据类型,宽度。

   (1)在一个表中增加一个新列:

alter table <表名>
 add [column] <列名> <数据类型> [default<默认值>];

     (2)  修改一个表中已有的列

            (1)修改一个表中已有列的数据类型:

alter table <表名>
  modify [column] <列名> <数据类型> [default <默认值>];

              (2)修改一个表中已有列的列名:

alter table 表名
  change [column] <旧列名> <新列名> <新数据类型>;

              (3)从一个表中删除一列:

alter table <表名>
drop [column] <列名>;

  

         (4).截断表和删除表:

     (1)截断表:

TRUNCATE TABLE <表名>;

注意:使用上面的语句只删除了表中的所有数据行,但表的结构依然保留.

      (2)删除表:

DROP table <表名>;

总结

以上就是今天要讲的内容,本文仅仅简单介绍了SQL的作用和基本定义,还有部分基本语句的使用,下面我们会详细的讲解MySQL的内容,我也在不断学习中,谢谢大家,我会持续更新的。