目录:
一:什么是数据库?
二:什么是关系型数据库
特点是什么哎?
三: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) | 3 | 1000-01-01/9999-12-31 | YYYY-MM-DD | 日期值 |
TIME (time) | 3 | '-838:59:59'/'838:59:59' | HH:MM:SS | 时间值或 持续时间 |
YEAR (year) | 1 | 1901/2155 | YYYY | 年份值 |
DATETIME (datetime) | 8 | 1000-01-01 00:00:00/9999-12-31 23:59:59 | YYYY-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个知识重难点-菜鸟轻松入门
发布评论