本篇主要内容
本篇是《Mysql从入门到入魔》系列最后一篇,写这个系列是为了系统的复习一下 Mysql
的基础知识,同时希望能够将学习的笔记分享更多的人,文章中的栗子有的使用的是书上的栗子,有的难懂的部分就自己写栗子,图个通俗易懂吧,后面如果有时间还会继续修改之前的文章,希望能够对大家有一些帮助。本篇写的主要是 Mysql
中的一些常用语法,以及常见数据类型,话不多说,进入正题!
ALTER TABLE
用来更新已存在表的模式。
ALTER TABLE tablename
(
ADD column datatype [NULL|NOT NULL] [CONSTRAINTS],
CHANGE column datatype [NULL|NOT NULL] [CONSTRAINTS],
DROP column,
...
);
详细使用:Mysql从入门到入魔——2. 操纵数据库和表
COMMIT
用来将事务处理写到数据库。
详细使用:Mysql从入门到入魔——8. 视图、存储过程、事务处理
CREATE INDEX
用于在一个或多个列上创建索引。
CREATE INDEX indexname
ON tablename (column [ASC|DESC], ...);
详细使用:Mysql从入门到入魔——9. 游标、高级SQL特性
CREATE PROCEDURE
用于创建存储过程。
CREATE PROCEDURE procedurename([parameters])
BEGIN
...
END;
详细使用:Mysql从入门到入魔——8. 视图、存储过程、事务处理
CREATE TABLE
用于创建新数据库表。
CREATE TABLE tablename
(
column datatype [NULL|NOT NULL] [CONSTRAINTS],
column datatype [NULL|NOT NULL] [CONSTRAINTS],
...
);
详细使用:Mysql从入门到入魔——2. 操纵数据库和表
CREATE VIEW
用来创建一个或多个表上的新视图。
CREATE [OR PEPLACE] VIEW viewname
AS
SELECT ...
FROM ...;
详细使用:Mysql从入门到入魔——8. 视图、存储过程、事务处理
DELETE
从表中删除一行或多行。
DELETE FROM tablename
[WHERE ...];
详细使用:Mysql从入门到入魔——7. 插入、更新和删除
DROP
永久地删除数据库对象(表、视图、索引等)。
DROP DATABASE|INDEX|PROCEDURE|TABLE|VIEW itemname;
详细使用:Mysql从入门到入魔——2. 操纵数据库和表
INSERT
给表插入数据。
详细使用:Mysql从入门到入魔——7. 插入、更新和删除
INSERT SELECT
插入 SELECT
的结果到一个表。
INSERT INTO tablename[(columns, ...)]
SELECT columns, ...
FROM tablename, ...
[WHERE ...];
详细使用:Mysql从入门到入魔——7. 插入、更新和删除
ROLLBACK
用于撤销一个事务处理块。
ROLLBACK [TO savepointname]
详细使用:Mysql从入门到入魔——8. 视图、存储过程、事务处理
SAVEPOINT
为使用 ROLLBACK
语句设立保留点。
SAVEPOINT savepointname;
详细使用:Mysql从入门到入魔——8. 视图、存储过程、事务处理
SELECT
用于从一个或多个表(视图)中检索数据。
SELECT columnname, ...
FROM tablename, ...
[WHERE ...]
[UNION ...]
[GROUP BY ...]
[HAVING ...]
[ORDER BY ...];
详细使用:Mysql从入门到入魔——3. 查询、排序、WHERE过滤
START TRANSACTION
表示一个新的事务处理块的开始。
START TRANSACTION;
详细使用:Mysql从入门到入魔——8. 视图、存储过程、事务处理
UPDATE
更新表中一行或多行。
UPDATE tablename
SET columnname = value, ...
[WHERE ...];
详细使用:Mysql从入门到入魔——7. 插入、更新和删除
最常用的数据类型是串数据类型。它们存储字符串,如名字、地址、邮箱等。有两种基本的串类型,分别为定长串和变长串。
CHAR
属于定长串类型。TEXT
属于变长串类型。二者比较:虽然变长数据类型使用灵活,但会降低性能。MySQL
处理定长列远比处理变长列快得多。此外,MySQL
不允许对变长列(或一个列的可变部分)进行索引。这也会极大地影响性能。
数据类型 | 说明 |
---|---|
CHAR | 1~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 )的数 |
REAL | 4 字节的浮点值 |
SMALLINT | 整数值,支持 -32768~32767(如果是 UNSIGNED ,为 0~ 65535 )的数 |
TINYINT | 整数值,支持 -128~127(如果为 UNSIGNED ,为 0~255 )的数 |
MySQL使用专门的数据类型来存储日期和时间值
数据类型 | 说明 |
---|---|
DATE | 表示 1000-01-01~9999-12-31 的日期,格式为 YYYY-MM-DD |
DATETIME | DATE 和 TIME 的组合 |
TIMESTAMP | 功能和 DATETIME 相同(但范围较小) |
TIME | 格式为 HH:MM:SS |
YEAR | 用 2 位数字表示,范围是70(1970年)~69(2069 年),用4位数字表示,范围是1901年~2155年 |
二进制数据类型可存储任何数据(甚至包括二进制信息),如图像、多媒体、字处理文档等。
数据类型 | 说 明 |
---|---|
BLOB | Blob 最大长度为 64 KB |
MEDIUMBLOB | Blob 最大长度为 16 MB |
LONGBLOB | Blob 最大长度为 4 GB |
TINYBLOB | Blob 最大长度为 255字节 |
参考书籍:《Mysql必知必会》
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/qq_43965708/article/details/118494183
内容来源于网络,如有侵权,请联系作者删除!