mysql入门

mysql引言

  • MySQL是一个关系型数据库管理系统由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
  • MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
  • MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
  • 由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。
  • 其他关系型数据库: oracle   |   sqlserver

mysql的安装教程

1、首先在百度搜索MySQL,如图选择第一个搜索项,如图所示:

2、在打开的页面中,选择下图中的“download”连接,如图所示:

3.、对于MySQL的下载分为多个版本,我们只需要下载服务器就足够了。大约30M多,选择下图的连接,如图所示:

4、最后献上5.5.28这个服务器的下载连接地址:

http://cdn.mysql.com/Downloads/MySQL-5.5/mysql-5.5.28-win32.msi

接下来是我的MySQL数据库服务器的安装步骤:

1、首先单击MySQL5.5.21的安装文件,出现该数据库的安装向导界面,单击“next”继续安装,如图所示:

 

2、在打开的窗口中,选择接受安装协议,单击“next”继续安装,如图所示:

 

3、在出现选择安装类型的窗口中,有“typical(默认)”、“Complete(完全)”、“Custom(用户自定义)”三个选项,我们选择“Custom”,因为通过自定义可以更加的让我们去熟悉它的安装过程,对于学习MySQL数据库很有帮助,单击“next”继续安装,如图所示:

 

4、在出现自定义安装界面中选择mysql数据库的安装路径,这里我设置的是“d:\Program File\MySQL”,单击“next”继续安装,如图所示:

 

5、接下来进入到准备安装的界面,首先确认一下先前的设置,如果有误,按“back”返回,没有错误,单击“Install”按钮继续安装,如图所示:

6、单击“Install”按钮之后出现如下正在安装的界面,经过很少的时间,MySQL数据库安装完成,出现完成MySQL安装的界面,如图所示:

这个界面单击“next”就行。

注意要选择上边的“Launch the MySQL Instance Configuration Wizard”选项,这是要启动MySQL的配置,也是最关键的地方(也可以以后设置),单击“Finish”按钮,进入到配置界面。

7、MySQL数据库的安装十分简单,关键是安装完成之后的配置,单击完成之后出现如下的配置界面向导,单击“next”进行配置,如图所示:

8、在打开的配置类型窗口中选择配置的方式,“Detailed  Configuration(手动精确配置)”、“Standard Configuration(标准配置)”,为了熟悉过程,我们选择“Detailed Configuration(手动精确配置)”,单击“next”继续,如图所示:

9、在出现的窗口中,选择服务器的类型,“Developer Machine(开发测试类)”、“Server Machine(服务器类型)”、“Dedicated MySQL Server Machine(专门的数据库服务器)”,我们仅仅是用来学习和测试,默认就行,单击“next”继续,如图所示:

10、在出现的配置界面中选择mysql数据库的用途,“Multifunctional Database(通用多功能型)”、“Transactional Database Only(服务器类型)”、“Non-Transactional Database Only(非事务处理型)”,这里我选择的是第一项, 通用安装,单击“next”继续配置,如图所示:

11、在出现的界面中,进行对InnoDB Tablespace进行配置,就是为InnoDB 数据库文件选择一个存储空间,如果修改了,要记住位置,重装的时候要选择一样的地方,否则可能会造成数据库损坏,当然,对数据库做个备份就没问题了,如图所示:

12、在打开的页面中,选择mysql的访问量,同时连接的数目,“Decision Support(DSS)/OLAP(20个左右)”、“Online Transaction Processing(OLTP)(500个左右)”、“Manual Setting(手动设置,设置为15个)这里选择手动设置,单击“next”继续,如图所示:

13、在打开的页面中设置是否启用TCP/IP连接,设定端口,如果不启用,就只能在自己的机器上访问mysql数据库了,这也是连接java的操作,默认的端口是3306,并启用严格的语法设置,如果后面出现错误,可以将“Add firewall exception for this port ”这个选项选上,单击“next”继续,如图所示:

14、在打开的字符编码的页面中,设置mysql要使用的字符编码,第一个是西文编码,第二个是多字节的通用utf8编码,第三个是手动,我们选择utf-8,如果在这里没有选择UTF-8这个编码的化,在使用JDBC连接数据库的时候,便会出现乱码,到那时需要加上如下的代码“useUnicode=true&characterEncoding=UTF-8 ”,才可以解决乱码问题,为了以后的方便所以设置为UTF-8编码,但是有一个问题,那就是当用哪个控制台插入汉字的时候,会报错,查询带汉字的表时,无法显示汉字,所在需要在每次进入MySQL后,设置一个系统参数“set names  gbk”,即可解决该问题,接下来单击“next”,继续配置,如图所示:

15、在打开的页面中选择是否将mysql安装为windows服务,还可以指定Service Name(服务标识名称),是否将mysql的bin目录加入到Windows PATH(加入后,就可以直接使用bin下的文件,而不用指出目录名,比如连接,“mysql–u username –p password;”就可以了,单击“next”继续配置,如图所示:

16、在打开的页面中设置是否要修改默认root用户(超级管理员)的密码(默认为空),“New root password”,如果要修改,就在此填入新密码,并启用root远程访问的功能,不要创建匿名用户,单击“next”继续配置,如图所示:

17、到这里所有的配置操作都已经完成,单击Execute按钮执行配置,如图所示:

18、过了几分钟,出现如下的提示界面就代表MySQL配置已经结束了,并提示了成功的信息。

19、在服务中将mysql数据库启动,并在命令窗口中输入“mysql–h localhost –u root -p”或者是“mysql -h localhost -uroot -p密码”,接着在出现的提示中输入用户的密码,如图所示:

 

从图中可以看到mysql数据库在启动之后,成功的登录了,在此我们可以对数据库进行操作了。

如果程序卡死:(未响应),1、需要卸载重新装:控制面板--》程序和功能--》点击卸载程序

2、把C盘中ProgramDate文件夹里的mysql文件jar删除:删除需谨慎、3.安装目录删除

mysql的常用操作

数据库

 
  1. # 查看所有的数据库

  2. SHOW DATABASES ;

  3. # 创建一个数据库

  4. CREATE DATABASE k;

  5. # 删除一个数据库

  6. DROP DATABASE k;

  7. # 使用这个数据库

  8. USE k;

 
  1. # 查看所有的表

  2. SHOW TABLES ;

  3. # 创建一个表

  4. CREATE TABLE n(id INT, name VARCHAR(10));

  5. CREATE TABLE m(id INT, name VARCHAR(10), PRIMARY KEY (id), FOREIGN KEY (id) REFERENCES n(id), UNIQUE (name));

  6. CREATE TABLE m(id INT, name VARCHAR(10));

  7. # 直接将查询结果导入或复制到新创建的表

  8. CREATE TABLE n SELECT * FROM m;

  9. # 新创建的表与一个存在的表的数据结构类似

  10. CREATE TABLE m LIKE n;

  11. # 创建一个临时表

  12. # 临时表将在你连接MySQL期间存在。当断开连接时,MySQL将自动删除表并释放所用的空间。也可手动删除。

  13. CREATE TEMPORARY TABLE l(id INT, name VARCHAR(10));

  14. # 直接将查询结果导入或复制到新创建的临时表

  15. CREATE TEMPORARY TABLE tt SELECT * FROM n;

  16. # 删除一个存在表

  17. DROP TABLE IF EXISTS m;

  18. # 更改存在表的名称

  19. ALTER TABLE n RENAME m;

  20. RENAME TABLE n TO m;

  21. # 查看表的结构(以下五条语句效果相同)

  22. DESC n; # 因为简单,所以建议使用

  23. DESCRIBE n;

  24. SHOW COLUMNS IN n;

  25. SHOW COLUMNS FROM n;

  26. EXPLAIN n;

  27. # 查看表的创建语句

  28. SHOW CREATE TABLE n;

表的结构

 
  1. # 添加字段

  2. ALTER TABLE n ADD age VARCHAR(2) ;

  3. # 删除字段

  4. ALTER TABLE n DROP age;

  5. # 更改字段属性和属性

  6. ALTER TABLE n CHANGE age a INT;

  7. # 只更改字段属性

  8. ALTER TABLE n MODIFY age VARCHAR(7) ;

表的数据

 
  1. # 增加数据

  2. INSERT INTO n VALUES (1, 'tom', '23'), (2, 'john', '22');

  3. INSERT INTO n SELECT * FROM n; # 把数据复制一遍重新插入

  4. # 删除数据

  5. DELETE FROM n WHERE id = 2;

  6. # 更改数据

  7. UPDATE n SET name = 'tom' WHERE id = 2;

  8. # 数据查找

  9. SELECT * FROM n WHERE name LIKE '%h%';

  10. # 数据排序(反序)

  11. SELECT * FROM n ORDER BY name, id DESC ;

 
  1. # 添加主键

  2. ALTER TABLE n ADD PRIMARY KEY (id);

  3. ALTER TABLE n ADD CONSTRAINT pk_n PRIMARY KEY (id); # 主键只有一个,所以定义键名似乎也没有什么用

  4. # 删除主键

  5. ALTER TABLE n DROP PRIMARY KEY ;

  6. # 添加外键

  7. ALTER TABLE m ADD FOREIGN KEY (id) REFERENCES n(id); # 自动生成键名m_ibfk_1

  8. ALTER TABLE m ADD CONSTRAINT fk_id FOREIGN KEY (id) REFERENCES n(id); # 使用定义的键名fk_id

  9. # 删除外键

  10. ALTER TABLE m DROP FOREIGN KEY `fk_id`;

  11. # 修改外键

  12. ALTER TABLE m DROP FOREIGN KEY `fk_id`, ADD CONSTRAINT fk_id2 FOREIGN KEY (id) REFERENCES n(id); # 删除之后从新建

  13. # 添加唯一键

  14. ALTER TABLE n ADD UNIQUE (name);

  15. ALTER TABLE n ADD UNIQUE u_name (name);

  16. ALTER TABLE n ADD UNIQUE INDEX u_name (name);

  17. ALTER TABLE n ADD CONSTRAINT u_name UNIQUE (name);

  18. CREATE UNIQUE INDEX u_name ON n(name);

  19. # 添加索引

  20. ALTER TABLE n ADD INDEX (age);

  21. ALTER TABLE n ADD INDEX i_age (age);

  22. CREATE INDEX i_age ON n(age);

  23. # 删除索引或唯一键

  24. DROP INDEX u_name ON n;

  25. DROP INDEX i_age ON n;

视图

 
  1. # 创建视图

  2. CREATE VIEW v AS SELECT id, name FROM n;

  3. CREATE VIEW v(id, name) AS SELECT id, name FROM n;

  4. # 查看视图(与表操作类似)

  5. SELECT * FROM v;

  6. DESC v;

  7. # 查看创建视图语句

  8. SHOW CREATE VIEW v;

  9. # 更改视图

  10. CREATE OR REPLACE VIEW v AS SELECT name, age FROM n;

  11. ALTER VIEW v AS SELECT name FROM n ;

  12. # 删除视图

  13. DROP VIEW IF EXISTS v;

联接

 
  1. # 内联接

  2. SELECT * FROM m INNER JOIN n ON m.id = n.id;

  3. # 左外联接

  4. SELECT * FROM m LEFT JOIN n ON m.id = n.id;

  5. # 右外联接

  6. SELECT * FROM m RIGHT JOIN n ON m.id = n.id;

  7. # 交叉联接

  8. SELECT * FROM m CROSS JOIN n; # 标准写法

  9. SELECT * FROM m, n;

  10. # 类似全连接full join的联接用法

  11. SELECT id,name FROM m

  12. UNION

  13. SELECT id,name FROM n;

函数

 
  1. # 聚合函数

  2. SELECT count(id) AS total FROM n; # 总数

  3. SELECT sum(age) AS all_age FROM n; # 总和

  4. SELECT avg(age) AS all_age FROM n; # 平均值

  5. SELECT max(age) AS all_age FROM n; # 最大值

  6. SELECT min(age) AS all_age FROM n; # 最小值

  7. # 数学函数

  8. SELECT abs(-5); # 绝对值

  9. SELECT bin(15), oct(15), hex(15); # 二进制,八进制,十六进制

  10. SELECT pi(); # 圆周率3.141593

  11. SELECT ceil(5.5); # 大于x的最小整数值6

  12. SELECT floor(5.5); # 小于x的最大整数值5

  13. SELECT greatest(3,1,4,1,5,9,2,6); # 返回集合中最大的值9

  14. SELECT least(3,1,4,1,5,9,2,6); # 返回集合中最小的值1

  15. SELECT mod(5,3); # 余数2

  16. SELECT rand(); # 返回0到1内的随机值,每次不一样

  17. SELECT rand(5); # 提供一个参数(种子)使RAND()随机数生成器生成一个指定的值。

  18. SELECT round(1415.1415); # 四舍五入1415

  19. SELECT round(1415.1415, 3); # 四舍五入三位数1415.142

  20. SELECT round(1415.1415, -1); # 四舍五入整数位数1420

  21. SELECT truncate(1415.1415, 3); # 截短为3位小数1415.141

  22. SELECT truncate(1415.1415, -1); # 截短为-1位小数1410

  23. SELECT sign(-5); # 符号的值负数-1

  24. SELECT sign(5); # 符号的值正数1

  25. SELECT sqrt(9); # 平方根3

  26. SELECT sqrt(9); # 平方根3

  27. # 字符串函数

  28. SELECT concat('a', 'p', 'p', 'le'); # 连接字符串-apple

  29. SELECT concat_ws(',', 'a', 'p', 'p', 'le'); # 连接用','分割字符串-a,p,p,le

  30. SELECT insert('chinese', 3, 2, 'IN'); # 将字符串'chinese'从3位置开始的2个字符替换为'IN'-chINese

  31. SELECT left('chinese', 4); # 返回字符串'chinese'左边的4个字符-chin

  32. SELECT right('chinese', 3); # 返回字符串'chinese'右边的3个字符-ese

  33. SELECT substring('chinese', 3); # 返回字符串'chinese'第三个字符之后的子字符串-inese

  34. SELECT substring('chinese', -3); # 返回字符串'chinese'倒数第三个字符之后的子字符串-ese

  35. SELECT substring('chinese', 3, 2); # 返回字符串'chinese'第三个字符之后的两个字符-in

  36. SELECT trim(' chinese '); # 切割字符串' chinese '两边的空字符-'chinese'

  37. SELECT ltrim(' chinese '); # 切割字符串' chinese '两边的空字符-'chinese '

  38. SELECT rtrim(' chinese '); # 切割字符串' chinese '两边的空字符-' chinese'

  39. SELECT repeat('boy', 3); # 重复字符'boy'三次-'boyboyboy'

  40. SELECT reverse('chinese'); # 反向排序-'esenihc'

  41. SELECT length('chinese'); # 返回字符串的长度-7

  42. SELECT upper('chINese'), lower('chINese'); # 大写小写 CHINESE chinese

  43. SELECT ucase('chINese'), lcase('chINese'); # 大写小写 CHINESE chinese

  44. SELECT position('i' IN 'chinese'); # 返回'i'在'chinese'的第一个位置-3

  45. SELECT position('e' IN 'chinese'); # 返回'i'在'chinese'的第一个位置-5

  46. SELECT strcmp('abc', 'abd'); # 比较字符串,第一个参数小于第二个返回负数- -1

  47. SELECT strcmp('abc', 'abb'); # 比较字符串,第一个参数大于第二个返回正数- 1

  48. # 时间函数

  49. SELECT current_date, current_time, now(); # 2018-01-13 12:33:43 2018-01-13 12:33:43

  50. SELECT hour(current_time), minute(current_time), second(current_time); # 12 31 34

  51. SELECT year(current_date), month(current_date), week(current_date); # 2018 1 1

  52. SELECT quarter(current_date); # 1

  53. SELECT monthname(current_date), dayname(current_date); # January Saturday

  54. SELECT dayofweek(current_date), dayofmonth(current_date), dayofyear(current_date); # 7 13 13

  55. # 控制流函数

  56. SELECT if(3>2, 't', 'f'), if(3<2, 't', 'f'); # t f

  57. SELECT ifnull(NULL, 't'), ifnull(2, 't'); # t 2

  58. SELECT isnull(1), isnull(1/0); # 0 1 是null返回1,不是null返回0

  59. SELECT nullif('a', 'a'), nullif('a', 'b'); # null a 参数相同或成立返回null,不同或不成立则返回第一个参数

  60. SELECT CASE 2

  61. WHEN 1 THEN 'first'

  62. WHEN 2 THEN 'second'

  63. WHEN 3 THEN 'third'

  64. ELSE 'other'

  65. END ; # second

  66. # 系统信息函数

  67. SELECT database(); # 当前数据库名-test

  68. SELECT connection_id(); # 当前用户id-306

  69. SELECT user(); # 当前用户-root@localhost

  70. SELECT version(); # 当前mysql版本

  71. SELECT found_rows(); # 返回上次查询的检索行数

用户

 
  1. # 增加用户

  2. CREATE USER 'test'@'localhost' IDENTIFIED BY 'test';

  3. INSERT INTO mysql.user(Host, User, Password) VALUES ('localhost', 'test', Password('test')); # 在用户表中插入用户信息,直接操作User表不推荐

  4. # 删除用户

  5. DROP USER 'test'@'localhost';

  6. DELETE FROM mysql.user WHERE User='test' AND Host='localhost';

  7. FLUSH PRIVILEGES ;

  8. # 更改用户密码

  9. SET PASSWORD FOR 'test'@'localhost' = PASSWORD('test');

  10. UPDATE mysql.user SET Password=Password('t') WHERE User='test' AND Host='localhost';

  11. FLUSH PRIVILEGES ;

  12. # 用户授权

  13. GRANT ALL PRIVILEGES ON *.* TO test@localhost IDENTIFIED BY 'test';

  14. # 授予用'test'密码登陆成功的test@localhost用户操作所有数据库的所有表的所有的权限

  15. FLUSH PRIVILEGES ; # 刷新系统权限表,使授予权限生效

  16. # 撤销用户授权

  17. REVOKE DELETE ON *.* FROM 'test'@'localhost'; # 取消该用户的删除权限

存储过程

 
  1. # 创建存储过程

  2. DELIMITER // # 无参数

  3. CREATE PROCEDURE getDates()

  4. BEGIN

  5. SELECT * FROM test ;

  6. END //

  7. CREATE PROCEDURE getDates_2(IN id INT) # in参数

  8. BEGIN

  9. SELECT * FROM test WHERE a = id;

  10. END //

  11. CREATE PROCEDURE getDates_3(OUT sum INT) # out参数

  12. BEGIN

  13. SET sum = (SELECT count(*) FROM test);

  14. END //

  15. CREATE PROCEDURE getDates_4(INOUT i INT) # inout参数

  16. BEGIN

  17. SET i = i + 1;

  18. END //

  19. DELIMITER ;

  20. # 删除存储过程

  21. DROP PROCEDURE IF EXISTS getDates;

  22. # 修改存储过程的特性

  23. ALTER PROCEDURE getDates MODIFIES SQL DATA ;

  24. # 修改存储过程语句(删除再重建)略

  25. # 查看存储过程

  26. SHOW PROCEDURE STATUS LIKE 'getDates'; # 状态

  27. SHOW CREATE PROCEDURE getDates_3; # 语句

  28. # 调用存储过程

  29. CALL getDates();

  30. CALL getDates_2(1);

  31. CALL getDates_3(@s);

  32. SELECT @s;

  33. SET @i = 1;

  34. CALL getDates_4(@i);

  35. SELECT @i; # @i = 2

其他语句

 
  1. # 查看所有的表信息(包括视图)

  2. SHOW TABLE STATUS;

其他

 
  1. # 数据库备份

  2. mysqldump -u root -p db_name > file.sql

  3. mysqldump -u root -p db_name table_name > file.sql

  4. # 数据库还原

  5. mysql -u root -p < C:\file.sql

MySQL 数据类型

MySQL中定义数据字段的类型对你数据库的优化是非常重要的。

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


数值类型

MySQL支持所有标准SQL数值数据类型。

这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。

关键字INT是INTEGER的同义词,关键字DEC是DECIMAL的同义词。

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

作为SQL标准的扩展,MySQL也支持整数类型TINYINT、MEDIUMINT和BIGINT。下面的表显示了需要的每个整数类型的存储和范围。

类型大小范围(有符号)范围(无符号)用途
TINYINT1 字节(-128,127)(0,255)小整数值
SMALLINT2 字节(-32 768,32 767)(0,65 535)大整数值
MEDIUMINT3 字节(-8 388 608,8 388 607)(0,16 777 215)大整数值
INT或INTEGER4 字节(-2 147 483 648,2 147 483 647)(0,4 294 967 295)大整数值
BIGINT8 字节(-9,223,372,036,854,775,808,9 223 372 036 854 775 807)(0,18 446 744 073 709 551 615)极大整数值
FLOAT4 字节(-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)单精度
浮点数值
DOUBLE8 字节(-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的值小数值

日期和时间类型

表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。

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

TIMESTAMP类型有专有的自动更新特性,将在后面描述。

类型大小
(字节)
范围格式用途
DATE31000-01-01/9999-12-31YYYY-MM-DD日期值
TIME3'-838:59:59'/'838:59:59'HH:MM:SS时间值或持续时间
YEAR11901/2155YYYY年份值
DATETIME81000-01-01 00:00:00/9999-12-31 23:59:59YYYY-MM-DD HH:MM:SS混合日期和时间值
TIMESTAMP4

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

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

YYYYMMDD HHMMSS混合日期和时间值,时间戳

字符串类型

字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。该节描述了这些类型如何工作以及如何在查询中使用这些类型。

类型大小用途
CHAR0-255字节定长字符串
VARCHAR0-65535 字节变长字符串
TINYBLOB0-255字节不超过 255 个字符的二进制字符串
TINYTEXT0-255字节短文本字符串
BLOB0-65 535字节二进制形式的长文本数据
TEXT0-65 535字节长文本数据
MEDIUMBLOB0-16 777 215字节二进制形式的中等长度文本数据
MEDIUMTEXT0-16 777 215字节中等长度文本数据
LONGBLOB0-4 294 967 295字节二进制形式的极大文本数据
LONGTEXT0-4 294 967 295字节极大文本数据

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

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

BLOB 是一个二进制大对象,可以容纳可变数量的数据。有 4 种 BLOB 类型:TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB。它们区别在于可容纳存储范围不同。

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

 

 

第三方工具Navicat

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值