Mysql从入门到入魔——10. 知识点速记(完结)

x33g5p2x  于2021-12-19 转载在 其他  
字(3.3k)|赞(0)|评价(0)|浏览(349)

本篇主要内容

本篇是《Mysql从入门到入魔》系列最后一篇,写这个系列是为了系统的复习一下 Mysql 的基础知识,同时希望能够将学习的笔记分享更多的人,文章中的栗子有的使用的是书上的栗子,有的难懂的部分就自己写栗子,图个通俗易懂吧,后面如果有时间还会继续修改之前的文章,希望能够对大家有一些帮助。本篇写的主要是 Mysql 中的一些常用语法,以及常见数据类型,话不多说,进入正题!

Mysql常用语法

ALTER TABLE

ALTER TABLE 用来更新已存在表的模式。

ALTER TABLE tablename
(
	ADD column datatype [NULL|NOT NULL] [CONSTRAINTS],
    CHANGE column datatype [NULL|NOT NULL] [CONSTRAINTS],
    DROP column,
    ...
);

详细使用:Mysql从入门到入魔——2. 操纵数据库和表

COMMIT

COMMIT 用来将事务处理写到数据库。

详细使用:Mysql从入门到入魔——8. 视图、存储过程、事务处理

CREATE INDEX

CREATE INDEX 用于在一个或多个列上创建索引。

CREATE INDEX indexname
ON tablename (column [ASC|DESC], ...);

详细使用:Mysql从入门到入魔——9. 游标、高级SQL特性

CREATE PROCEDURE

CREATE PROCEDURE 用于创建存储过程。

CREATE PROCEDURE procedurename([parameters])
BEGIN
...
END;

详细使用:Mysql从入门到入魔——8. 视图、存储过程、事务处理

CREATE TABLE

CREATE TABLE 用于创建新数据库表。

CREATE TABLE tablename
(
	column datatype [NULL|NOT NULL] [CONSTRAINTS],
    column datatype [NULL|NOT NULL] [CONSTRAINTS],
    ...
);

详细使用:Mysql从入门到入魔——2. 操纵数据库和表

CREATE VIEW

CREATE VIEW 用来创建一个或多个表上的新视图。

CREATE [OR PEPLACE] VIEW viewname
AS
SELECT ...
FROM ...;

详细使用:Mysql从入门到入魔——8. 视图、存储过程、事务处理

DELETE

DELETE 从表中删除一行或多行。

DELETE FROM tablename
[WHERE ...];

详细使用:Mysql从入门到入魔——7. 插入、更新和删除

DROP

DROP 永久地删除数据库对象(表、视图、索引等)。

DROP DATABASE|INDEX|PROCEDURE|TABLE|VIEW itemname;

详细使用:Mysql从入门到入魔——2. 操纵数据库和表

INSERT

INSERT 给表插入数据。

详细使用:Mysql从入门到入魔——7. 插入、更新和删除

INSERT SELECT

INSERT SELECT 插入 SELECT 的结果到一个表。

INSERT INTO tablename[(columns, ...)]
SELECT columns, ...
FROM tablename, ...
[WHERE ...];

详细使用:Mysql从入门到入魔——7. 插入、更新和删除

ROLLBACK

ROLLBACK 用于撤销一个事务处理块。

ROLLBACK [TO savepointname]

详细使用:Mysql从入门到入魔——8. 视图、存储过程、事务处理

SAVEPOINT

SAVEPOINT 为使用 ROLLBACK 语句设立保留点。

SAVEPOINT savepointname;

详细使用:Mysql从入门到入魔——8. 视图、存储过程、事务处理

SELECT

SELECT 用于从一个或多个表(视图)中检索数据。

SELECT columnname, ...
FROM tablename, ...
[WHERE ...]
[UNION ...]
[GROUP BY ...]
[HAVING ...]
[ORDER BY ...];

详细使用:Mysql从入门到入魔——3. 查询、排序、WHERE过滤

START TRANSACTION

START TRANSACTION 表示一个新的事务处理块的开始。

START TRANSACTION;

详细使用:Mysql从入门到入魔——8. 视图、存储过程、事务处理

UPDATE

UPDATE 更新表中一行或多行。

UPDATE tablename
SET columnname = value, ...
[WHERE ...];

详细使用:Mysql从入门到入魔——7. 插入、更新和删除

Mysql数据类型

串数据类型

最常用的数据类型是串数据类型。它们存储字符串,如名字、地址、邮箱等。有两种基本的串类型,分别为定长串变长串

  • 定长串接受长度固定的字符串,其长度是在创建表时指定的。定长列不允许多于指定的字符数目。它们分配的存储空间与指定的一样多CHAR 属于定长串类型。
  • 变长串存储可变长度的文本。有些变长数据类型具有最大的定长,
    而有些则是完全变长的。不管是哪种,只有指定的数据内容得到保存(额外的数据不保存)TEXT 属于变长串类型。

二者比较:虽然变长数据类型使用灵活,但会降低性能。MySQL 处理定长列远比处理变长列快得多。此外,MySQL 不允许对变长列(或一个列的可变部分)进行索引。这也会极大地影响性能。

数据类型说明
CHAR1~255个字符的定长串。它的长度必须在创建时指定,否则 MySQL 默认为 CHAR(1)
ENUM接受最多 64 K 个串组成的一个预定义集合的某个串
LONGTEXT最大长度为 4 GB 的变长文本
MEDIUMTEXT最大长度为 16 K 的变长文本
SET接受最多 64 个串组成的一个预定义集合的零个或多个串
TEXT最大长度为 64 K 的变长文本
TINYTEXT最大长度为 255 字节的变长文本
VARCHAR长度可变,最多不超过 65535 字节。如果在创建时指定为 VARCHAR(n) , 则可存储 0~n个字符的变长串(其中n ≤ 65535,根据指定的字符集可能有所改变)

数值数据类型

数值数据类型存储数值。MySQL 支持多种数值数据类型,不同数据类型的存储范围不同,所需存储空间也不同,支持的取值范围越大,所需存储空间越多。此外,有的数值数据类型支持使用十进制小数点(和小数),而有的则只支持整数。

数据类型说明
BIT位字段,1~64 位。
BIGINT整数值,支持 -9223372036854775808~9223372036854775807 (如果是UNSIGNED,为0~18446744073709551615)的数
BOOLEAN(或BOOL布尔标志,或者为 0 或者为 1
DECIMAL(或DEC精度可变的浮点值
DOUBLE双精度浮点值
FLOAT单精度浮点值
INT(或INTEGER整数值,支持 -2147483648~2147483647(如果是 UNSIGNED, 为 0~4294967295 )的数
MEDIUMINT整数值,支持 -8388608~8388607(如果是 UNSIGNED,为 0~ 16777215 )的数
REAL4 字节的浮点值
SMALLINT整数值,支持 -32768~32767(如果是 UNSIGNED,为 0~ 65535 )的数
TINYINT整数值,支持 -128~127(如果为 UNSIGNED,为 0~255 )的数

日期和时间数据类型

MySQL使用专门的数据类型来存储日期和时间值

数据类型说明
DATE表示 1000-01-01~9999-12-31 的日期,格式为 YYYY-MM-DD
DATETIMEDATETIME 的组合
TIMESTAMP功能和 DATETIME 相同(但范围较小)
TIME格式为 HH:MM:SS
YEAR用 2 位数字表示,范围是70(1970年)~69(2069 年),用4位数字表示,范围是1901年~2155年

二进制数据类型

二进制数据类型可存储任何数据(甚至包括二进制信息),如图像、多媒体、字处理文档等。

数据类型说 明
BLOBBlob 最大长度为 64 KB
MEDIUMBLOBBlob 最大长度为 16 MB
LONGBLOBBlob 最大长度为 4 GB
TINYBLOBBlob 最大长度为 255字节

参考书籍:《Mysql必知必会》

相关文章