目录:

一:什么是数据库?

二:什么是关系型数据库

特点是什么哎?

三:RDBMS的术语

图形化界面:

解析:

四:MySQL数据库介绍

特点:

五: Linux/UNIX安装配置MySQL

六: Windows 上安装配置 MySQL

七:MySQL 管理

八:MySQL命令管理

九:MySQL PHP 语法

十:MySQL创建-删除-选择数据库

十一: MySQL 数据类型

11.1 数值类型

11.2日期和时间类型

11.3字符串类型

11.4 补充

十二: MySQL 创建-删除-插入-查询-内存释放_数据表

十三:MySQL_WHRER子句-UPDATE更新-DELETE语句-LIKE子句-NUION操作符详解

十四:MySQL 排序(order by)-分组(group by)

十五:MYSQL内连接_等值连接(inner join)-左连接(left join)-右连接(right join)

十六:MySQL_ NULL 值处理-is null-is not null-<=>比较操作符

十七:MySQL 正则表达式

十八:MySQL 事务

十九:MySQL ALTER命令

19.1 删除,添加或修改表字段

19.2 修改字段类型及名称

19.3 ALTER TABLE 对 Null 值和默认值的影响

19.4 修改字段默认值

19.5 修改表名

19.6 修改存储引擎:修改为myisam

19.7 删除外键约束:keyName是外键别名

19.8 修改字段的相对位置

二十:MySQL 索引

二十一MySQL 运算符

二十二:函数


一:什么是数据库?

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。

每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。

二:什么是关系型数据库

关系型数据库管理系统(RDBMS)来存储和管理大数据量

所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。

特点是什么哎?

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

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

三:RDBMS的术语

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

图形化界面:

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

一个关系型数据库由一个或数个表格组成, 如图所示的一个表格:

解析:

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

四:MySQL数据库介绍

MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

特点:

  • MySQL 是开源的,所以你不需要支付额外的费用。
  • MySQL 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
  • MySQL 使用标准的 SQL 数据语言形式。
  • MySQL 可以运行于多个系统上,并且支持多种语言。这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。
  • MySQL 对PHP有很好的支持,PHP 是目前最流行的 Web 开发语言。
  • MySQL 支持大型数据库,支持 5000 万条记录的数据仓库,32 位系统表文件最大可支持 4GB,64 位系统支持最大的表文件为8TB。
  • MySQL 是可以定制的,采用了 GPL 协议,你可以修改源码来开发自己的 MySQL 系统。

五: Linux/UNIX安装配置MySQL

六: Windows 上安装配置 MySQL

七:MySQL 管理

小编整理的地址请参考:

安装配置连接 MySQL在Windows /Linux/UNIX上详细步骤

https://blog.csdn/liu17234050/article/details/103153703

八:MySQL命令管理

小编整理的地址请参考:

https://blog.csdn/liu17234050/article/details/103158316

九:MySQL PHP 语法

PHP Mysqli函数格式如下:

mysqli_function(value,value,...);

以上格式中 function部分描述了mysql函数的功能,如

mysqli_connect($connect);
mysqli_query($connect,"SQL 语句");
mysqli_fetch_array()
mysqli_close()

以下实例展示了PHP调用mysql函数的语法:

<?php
$retval = mysqli_function(value, [value,...]);
if( !$retval )
{
   die ( "相关错误信息" );
}
// 其他 MySQL 或 PHP 语句
?>

十:MySQL创建-删除-选择数据库

小编整理的地址请参考:

https://blog.csdn/liu17234050/article/details/103159145

十一: MySQL 数据类型

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

11.1 数值类型

严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC)

以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。

关键字INT是INTEGER的同义词(integer)

关键字DEC是DECIMAL的同义词(decimal)

BIT数据类型保存位字段值,并且支持MyISAM、MEMORY、InnoDB和BDB表

MySQL也支持整数类型TINYINT、MEDIUMINT和BIGIN(tinyint; mediumint;bigint)

类型大小范围(有符号)范围(无符号)用途

TINYINT

(tinyint)

1 字节(-128,127)(0,255)小整数值

SMALLINT

(smallint)

2 字节(-32 768,32 767)(0,65 535)大整数值
MEDIUMINT(mediumint)3 字节(-8 388 608,8 388 607)(0,16 777 215)大整数值

INT或INTEGER

(int或integer)

4 字节(-2 147 483 648,2 147 483 647)(0,4 294 967 295)大整数值

BIGINT

(bigint)

8 字节(-9,223,372,036,854,775,808,9 223 372 036 854 775 807)(0,18 446 744 073 709 551 615)极大整数值

FLOAT

(float)

4 字节(-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

(double)

8 字节(-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)

对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2依赖于M和D的值依赖于M和D的值小数值

11.2日期和时间类型

表示时间值的日期和时间类型:

DATETIME、DATE、TIMESTAMP、TIME和YEAR

(datetime、date、timestamp、time、year)

每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使用"零"值。

类型大小
(字节)
范围格式用途

DATE

(date)

31000-01-01/9999-12-31YYYY-MM-DD日期值

TIME

(time)

3'-838:59:59'/'838:59:59'HH:MM:SS

时间值或

持续时间

YEAR

(year)

11901/2155YYYY年份值

DATETIME

(datetime)

81000-01-01 00:00:00/9999-12-31 23:59:59YYYY-MM-DD HH:MM:SS

混合日期和

时间值

TIMESTAMP

(timestamp[)

4

1970-01-01 00:00:00/2038

结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07

YYYYMMDD HHMMSS

混合日期和

时间值,时间戳

11.3字符串类型

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

(char varchar binary varbinary blob text enum set)

类型大小用途

CHAR

(char )

0-255字节定长字符串

VARCHAR

(varchar )

0-65535 字节变长字符串

TINYBLOB

(tinyblob)

0-255字节不超过 255 个字符的二进制字符串

TINYTEXT

(tinytext)

0-255字节短文本字符串

BLOB

(blob)

0-65 535字节二进制形式的长文本数据

TEXT

(text)

0-65 535字节长文本数据

MEDIUMBLOB

(mediumblob)

0-16 777 215字节二进制形式的中等长度文本数据

MEDIUMTEXT

(mediumtext)

0-16 777 215字节中等长度文本数据

LONGBLOB

(longblob)

0-4 294 967 295字节二进制形式的极大文本数据

LONGTEXT

(longtext)

0-4 294 967 295字节极大文本数据

CHAR 和 VARCHAR 类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。

BINARY 和 VARBINARY 类似于 CHAR 和 VARCHAR,不同的是它们包含二进制字符串而不要非二进制字符串。也就是说,它们包含字节字符串而不是字符字符串。这说明它们没有字符集,并且排序和比较基于列值字节的数值值。(binary varbinary)

BLOB 是一个二进制大对象,可以容纳可变数量的数据。

有 4 种 BLOB 类型:TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB。它们区别在于可容纳存储范围不同。

有 4 种 TEXT 类型:TINYTEXT、TEXT、MEDIUMTEXT 和 LONGTEXT。对应的这 4 种 BLOB 类型,可存储的最大长度不同,可根据实际情况选择。

11.4 补充

MySQL 5.0 以上的版本:

1、一个汉字占多少长度与编码有关:

UTF-8:一个汉字=3个字节

GBK:一个汉字=2个字节

2、varchar(n) 表示 n 个字符,无论汉字和英文,Mysql 都能存入 n 个字符,仅是实际字节长度有所区别

3、MySQL 检查长度,可用 SQL 语言来查看:

select LENGTH(fieldname) from tablename

4.关于 char、varchar 与 text 平时没有太在意,一般来说,可能现在大家都是用 varchar。

但是当要存储的内容比较大时,究竟是选择 varchar 还是 text 呢?

这三种类型比较:

  •  (1)char:  char 不用多说了,它是定长格式的,但是长度范围是 0~255. 当你想要储存一个长度不足 255 的字符时,Mysql 会用空格来填充剩下的字符。因此在读取数据时,char 类型的数据要进行处理,把后面的空格去除。
  •  (2)varchar:  关于 varchar,有的说最大长度是 255,也有的说是 65535,查阅很多资料后发现是这样的:varchar 类型在 5.0.3 以下的版本中的最大长度限制为 255,而在 5.0.3 及以上的版本中,varchar 数据类型的长度支持到了 65535,也就是说可以存放 65532 个字节(注意是字节而不是字符!!!)的数据(起始位和结束位占去了3个字节),也就是说,在 5.0.3 以下版本中需要使用固定的 TEXT 或 BLOB 格式存放的数据可以在高版本中使用可变长的 varchar 来存放,这样就能有效的减少数据库文件的大小。
  •  (3)text: 与 char 和 varchar 不同的是,text 不可以有默认值,其最大长度是 2 的 16 次方-1

总结起来,有几点:

  •  经常变化的字段用 varchar
  •  知道固定长度的用 char
  •  尽量用 varchar
  •  超过 255 字符的只能用 varchar 或者 text
  •  能用 varchar 的地方不用 text

十二: MySQL 创建-删除-插入-查询-内存释放_数据表

小编整理的地址请参考:

https://blog.csdn/liu17234050/article/details/103163835

十三:MySQL_WHRER子句-UPDATE更新-DELETE语句-LIKE子句-NUION操作符详解

小编整理的地址请参考:

https://blog.csdn/liu17234050/article/details/103166269

十四:MySQL 排序(order by)-分组(group by)

小编整理的地址请参考:

https://blog.csdn/liu17234050/article/details/103283045

十五:MYSQL内连接_等值连接(inner join)-左连接(left join)-右连接(right join)

小编整理的地址请参考:

https://blog.csdn/liu17234050/article/details/103283611

十六:MySQL_ NULL 值处理-is null-is not null-<=>比较操作符

小编整理的地址请参考:

https://blog.csdn/liu17234050/article/details/103284152

十七:MySQL 正则表达式

小编整理的地址请参考:

https://blog.csdn/liu17234050/article/details/103284634?utm_source=app

十八:MySQL 事务

地址请参考:

https://www.runoob/mysql/mysql-transaction.html

十九:MySQL ALTER命令

19.1 删除,添加或修改表字段

mysql> ALTER TABLE testalter_tbl  DROP i;

需要指定新增字段的位置,使用MySQL提供的关键字 FIRST (设定位第一列) AFTER 字段名(设定位于某个字段之后)。 

ALTER TABLE testalter_tbl DROP i;
ALTER TABLE testalter_tbl ADD i INT FIRST;
ALTER TABLE testalter_tbl DROP i;
ALTER TABLE testalter_tbl ADD i INT AFTER c;

 

19.2 修改字段类型及名称

如果需要修改字段类型及名称, 你可以在ALTER命令中使用 MODIFY 或 CHANGE 子句 。(modify change)

mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);

使用 CHANGE 子句, 语法有很大的不同

在 CHANGE 关键字之后,紧跟着的是你要修改的字段名,然后指定新字段名及类型。尝试如下实例:

mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;


mysql> ALTER TABLE testalter_tbl CHANGE j j INT;

19.3 ALTER TABLE 对 Null 值和默认值的影响

当你修改字段时,你可以指定是否包含值或者是否设置默认值。

mysql> ALTER TABLE testalter_tbl 
    -> MODIFY j BIGINT NOT NULL DEFAULT 100;

19.4 修改字段默认值

你可以使用 ALTER 来修改字段的默认值,尝试以下实例:

mysql> ALTER TABLE testalter_tbl ALTER i SET DEFAULT 1000;
mysql> SHOW COLUMNS FROM testalter_tbl;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| c     | char(1) | YES  |     | NULL    |       |
| i     | int(11) | YES  |     | 1000    |       |
+-------+---------+------+-----+---------+-------+
2 rows in set (0.00 sec)

注意:

查看数据表类型可以使用 SHOW TABLE STATUS 语句。

19.5 修改表名

如果需要修改数据表的名称,可以在 ALTER TABLE 语句中使用 RENAME 子句来实现。

mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;

ALTER 命令还可以用来创建及删除MySQL数据表的索引

19.6 修改存储引擎:修改为myisam

alter table tableName engine=myisam;

19.7 删除外键约束:keyName是外键别名

alter table tableName drop foreign key keyName;

19.8 修改字段的相对位置

里name1为想要修改的字段,type1为该字段原来类型,first和after二选一,这应该显而易见,first放在第一位,after放在name2字段后面

alter table tableName modify name1 type1 first|after name2;

二十:MySQL 索引

小编整理的地址请参考:

https://blog.csdn/liu17234050/article/details/103285334

二十一MySQL 运算符

地址请参考:

https://www.runoob/mysql/mysql-operator.html

二十二:函数

地址请参考:

https://www.runoob/mysql/mysql-functions.html

小编参考的菜鸟教程整理的,不一定适合每一个人,但是希望能够帮助你!

具体请参考:https://www.runoob/mysql/mysql-tutorial.html

更多推荐

MySQL知识点总结大全22个知识重难点-菜鸟轻松入门