收藏 分享(赏)

MySQL菜鸟教程.doc

上传人:精品资料 文档编号:7998659 上传时间:2019-06-03 格式:DOC 页数:90 大小:3MB
下载 相关 举报
MySQL菜鸟教程.doc_第1页
第1页 / 共90页
MySQL菜鸟教程.doc_第2页
第2页 / 共90页
MySQL菜鸟教程.doc_第3页
第3页 / 共90页
MySQL菜鸟教程.doc_第4页
第4页 / 共90页
MySQL菜鸟教程.doc_第5页
第5页 / 共90页
点击查看更多>>
资源描述

1、MySQL 教程Mysql 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。 在本教程中,会让大家快速掌握 Mysql 的基本知识,并轻松使用 Mysql 数据库。什么是数据库?数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。所以,现在我们使用关系型数据库管理系统(RDBMS)来

2、存储和管理的大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。 RDBMS 即关系数据库管理系统(Relational Database Management System)的特点: 1.数据以表格的形式出现 2.每行为各种记录名称 3.每列为记录名称所对应的数据域 4.许多的行和列组成一张表单 5.若干的表单组成 databaseRDBMS 术语在我们开始学习 MySQL 数据库前,让我们先了解下 RDBMS 的一些术语: 数据库: 数据库是一些关联表的集合。. 数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子

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

4、件,目的是保证数据的一致性。Mysql 数据库MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于Oracle 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 Mysql 是开源的,所以你不需要支付额外的费用。 Mysql 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。 MySQL 使用标准的 SQL 数据语言形式。 Mysql 可以允许于多个系统上,并且支持多种语言。这些编程语言包括C、C+、Python、Java、Perl、PHP、Eiffel、Rub

5、y 和 Tcl 等。 Mysql 对 PHP 有很好的支持,PHP 是目前最流行的 Web 开发语言。 MySQL 支持大型数据库,支持 5000 万条记录的数据仓库,32 位系统表文件最大可支持 4GB,64 位系统支持最大的表文件为 8TB。 Mysql 是可以定制的,采用了 GPL 协议,你可以修改源码来开发自己的Mysql 系统。在开始学习本教程前你应该了解?在开始学习本教程前你应该了解 PHP 和 HTML 的基础知识,并能简单的应用。本教程的很多例子都跟 PHP 语言有关,我们的实例基本上是采用 PHP 语言来演示。如果你还不了解 PHP,你可以通过本站的 PHP 教程来了解该语言

6、。MySQL 安装所有平台的 Mysql 下载地址为: MySQL 下载. 挑选你需要的 MySQL Community Server 版本及对应的平台。Linux/UNIX 上安装 MysqlLinux 平台上推荐使用 RPM 包来安装 Mysql,MySQL AB 提供了以下 RPM 包的下载地址: MySQL - MySQL 服务器。你需要该选项,除非你只想连接运行在另一台机器上的 MySQL 服务器。 MySQL-client - MySQL 客户端程序,用于连接并操作 Mysql 服务器。 MySQL-devel - 库和包含文件,如果你想要编译其它 MySQL 客户端,例如 Per

7、l 模块,则需要安装该 RPM 包。 MySQL-shared - 该软件包包含某些语言和应用程序需要动态装载的共享库(libmysqlclient.so*),使用 MySQL。 MySQL-bench - MySQL 数据库服务器的基准和性能测试工具。接下来我们在 Centos 系统下使用 yum 命令安装 MySql:检测系统是否自带安装 mysql: rpm -qa | grep mysql如果你系统有安装,那可以选择进行卸载:rpm -e mysql / 普通删除模式rpm -e -nodeps mysql / 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以

8、对其进行强力删除安装 mysql:yum install mysqlyum install mysql-serveryum install mysql-devel启动 mysql:service mysqld start注意:如果我们是第一次启动 mysql 服务,mysql 服务器首先会进行初始化的配置。如果是 CentOS 7 版本,由于 MySQL 数据库已从默认的程序列表中移除,可以使用 mariadb 代替:yum install mariadb-server mariadb mariadb 数据库的相关命令是: systemctl start mariadb #启动 MariaDB

9、systemctl stop mariadb #停止 MariaDBsystemctl restart mariadb #重启 MariaDBsystemctl enable mariadb #设置开机启动验证 Mysql 安装在成功安装 Mysql 后,一些基础表会表初始化,在服务器启动后,你可以通过简单的测试来验证 Mysql 是否工作正常。使用 mysqladmin 工具来获取服务器状态:使用 mysqladmin 命令俩检查服务器的版本,在 linux 上该二进制文件位于 /usr/bin on linux ,在 window 上该二进制文件位于 C:mysqlbin 。roothos

10、t# mysqladmin -versionlinux 上该命令将输出以下结果,该结果基于你的系统信息:mysqladmin Ver 8.23 Distrib 5.0.9-0, for redhat-linux-gnu on i386如果以上命令执行后未输入任何信息,说明你的 Mysql 未安装成功。 使用 MySQL Client(Mysql 客户端) 执行简单的 SQL命令你可以在 MySQL Client(Mysql 客户端) 使用 mysql 命令连接到 Mysql 服务器上,默认情况下 Mysql 服务器的密码为空,所以本实例不需要输入密码。命令如下:roothost# mysql以

11、上命令执行后会输出 mysql提示符,这说明你已经成功连接到 Mysql 服务器上,你可以在 mysql 提示符执行 SQL 命令:mysql SHOW DATABASES;+-+| Database |+-+| mysql | test |+-+2 rows in set (0.13 sec)Mysql 安装后需要做的Mysql 安装成功后,默认的 root 用户密码为空,你可以使用以下命令来创建root 用户的密码:roothost# mysqladmin -u root password “new_password“;现在你可以通过以下命令来连接到 Mysql 服务器:roothost#

12、 mysql -u root -pEnter password:*注意:在输入密码时,密码是不会显示了,你正确输入即可。Window 上安装 MysqlWindow 上安装 Mysql 相对来说会较为简单,你只需要载 MySQL 下载中下载window 版本的 mysql 安装包,并解压安装包。双击 setup.exe 文件,接下来你只需要安装默认的配置点击“next“即可,默认情况下安装信息会在 C:mysql 目录中。接下来你可以通过“开始“ =在搜索框中输入 “ cmd“ 命令 = 在命令提示符上切换到 C:mysqlbin 目录,并输入一下命令:mysqld.exe -console如

13、果安装成功以上命令将输出一些 mysql 启动及 InnoDB 信息。MySQL 管理启动及关闭 MySQL 服务器首先,我们需要通过以下命令来检查 MySQL 服务器是否启动:ps -ef | grep mysqld如果 MySql 已经启动,以上命令将输出 mysql 进程列表, 如果 mysql 未启动,你可以使用以下命令来启动 mysql 服务器:roothost# cd /usr/bin./mysqld_safe Database changedmysql INSERT INTO user (host, user, password, select_priv, insert_priv

14、, update_priv) VALUES (localhost, guest, PASSWORD(guest123), Y, Y, Y);Query OK, 1 row affected (0.20 sec)mysql FLUSH PRIVILEGES;Query OK, 1 row affected (0.01 sec)mysql SELECT host, user, password FROM user WHERE user = guest;+-+-+-+| host | user | password |+-+-+-+| localhost | guest | 6f8c114b58f2

15、ce9e |+-+-+-+1 row in set (0.00 sec)在添加用户时,请注意使用 MySQL 提供的 PASSWORD() 函数来对密码进行加密。你可以在以上实例看到用户密码加密后为: 6f8c114b58f2ce9e. 注意:在 MySQL5.7 中 user 表的 password 已换成了authentication_string。注意:在注意需要执行 FLUSH PRIVILEGES 语句。 这个命令执行后会重新载入授权表。 如果你不使用该命令,你就无法使用新创建的用户来连接 mysql 服务器,除非你重启 mysql 服务器。 你可以在创建用户时,为用户指定权限,在对

16、应的权限列中,在插入语句中设置为 Y 即可,用户权限列表如下: Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv另外一种添加用户的方法为通过 SQL 的 GRANT 命令,你下命令会给指定数据库TUTORIALS 添加用户 zara ,密码为 zara123 。roothost# mysql -u root -p

17、 password;Enter password:*mysql use mysql;Database changedmysql GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP- ON TUTORIALS.*- TO zaralocalhost- IDENTIFIED BY zara123;以上命令会在 mysql 数据库中的 user 表创建一条用户信息记录。 注意: MySQL 的 SQL 语句以分号 (;) 作为结束标识。 /etc/f 文件配置一般情况下,你不需要修改该配置文件,该文件默认配置如下:mysqlddatadir=/var/lib/

18、mysqlsocket=/var/lib/mysql/mysql.sockmysql.serveruser=mysqlbasedir=/var/libsafe_mysqlderr-log=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pid在配置文件中,你可以指定不同的错误日志文件存放的目录,一般你不需要改动这些配置。管理 MySQL 的命令以下列出了使用 Mysql 数据库过程中常用的命令: USE 数据库名 :选择要操作的 Mysql 数据库,使用该命令后所有 Mysql 命令都只针对该数据库。 mysql use RUNOOB;Da

19、tabase changed SHOW DATABASES: 列出 MySQL 数据库管理系统的数据库列表。 mysql SHOW DATABASES; +-+ | Database | +-+ | information_schema | | RUNOOB | | cdcol | | mysql | | onethink | | performance_schema | | phpmyadmin | | test | | wecenter | | wordpress | +-+10 rows in set (0.02 sec) SHOW TABLES:显示指定数据库的所有表,使用该命令前需要

20、使用 use 命令来选择要操作的数据库。 mysql use RUNOOB; Database changed mysql SHOW TABLES; +-+ | Tables_in_runoob | +-+ | employee_tbl | | runoob_tbl | | tcount_tbl | +-+3 rows in set (0.00 sec) SHOW COLUMNS FROM 数据表 :显示数据表的属性,属性类型,主键信息 ,是否为 NULL,默认值等其他信息。 mysql SHOW COLUMNS FROM runoob_tbl; +-+-+-+-+-+-+ | Field |

21、 Type | Null | Key | Default | Extra | +-+-+-+-+-+-+ | runoob_id | int(11) | NO | PRI | NULL | | | runoob_title | varchar(255) | YES | | NULL | | | runoob_author | varchar(255) | YES | | NULL | | | submission_date | date | YES | | NULL | | +-+-+-+-+-+-+4 rows in set (0.01 sec) SHOW INDEX FROM 数据表 :显

22、示数据表的详细索引信息,包括 PRIMARY KEY(主键)。 mysql SHOW INDEX FROM runoob_tbl; +-+-+-+-+-+-+-+-+-+-+-+-+-+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | +-+-+-+-+-+-+-+-+-+-+-+-+-+ | runoob_tbl | 0 | PRIM

23、ARY | 1 | runoob_id | A | 2 | NULL | NULL | | BTREE | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+1 row in set (0.00 sec) SHOW TABLE STATUS LIKE FROM db_name LIKE pattern G: 该命令将输出 Mysql 数据库管理系统的性能及统计信息。 mysql SHOW TABLE STATUS FROM RUNOOB; # 显示数据库 RUNOOB 中所有表的信息 mysql SHOW TABLE STATUS from RUNOOB LIKE runoob%;

24、 # 表名以 runoob 开头的表的信息mysql SHOW TABLE STATUS from RUNOOB LIKE runoob%G; # 加上 G,查询结果按列打印Gif 图演示:MySQL 安装 MySQL PHP 语法 笔记列表1. oocarainooc*记录 MySQL 学习过程遇到的问题。 系统:win32 位MySQL 版本:5.7.17-log MySQL 语法对大小写不敏感,但是大写更容易看出。 一、启动关闭 MySQL 服务 1【开始菜单】搜索 services.msc 打开 windows【服务管理器】,可以在此开启关闭 MySQL 服务。 2 在 cmd 中使用

25、命令: net start mysql #启动 mysql 服务net stop mysql #关闭 mysql 服务遇到 net 命令无法识别,如下: 这是环境变量没有配置的原因,究竟是哪一个文件的环境变量没有配置呢? 是 C:windowssystem32 这个路径下的 net.exe 没有配置环境变量 现切换到这个路径下试一下可不可以使用 net 命令: 在 Powershell 需要使用 .net stop mysql 关闭服务。在 cmd 中可以直接使用 net start mysql启动服务。将 c:windowssystem32 添加到系统的 Path 中后:成功!oocarai

26、noocarainooc*5 个月前 (03-06)2. 一条鱼ili*参考地址用 insert 添加用户时,可能会报错:ERROR 1364 (HY000): Field ssl_cipher doesnt have a default valuemy-default.ini 中有一条语句:指定了严格模式,为了安全,严格模式禁止通过 insert 这种形式直接修改 mysql 库中的 user 表进行添加新用户sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES将 STRICT_TRANS_TABLES 删掉之后即可使用 insert 添加M

27、ySQL 连接使用 mysql 二进制方式连接您可以使用 MySQL 二进制方式进入到 mysql 命令提示符下来连接 MySQL 数据库。实例以下是从命令行中连接 mysql 服务器的简单实例:roothost# mysql -u root -pEnter password:*在登录成功后会出现 mysql 命令提示窗口,你可以在上面执行任何 SQL 语句。以上命令执行后,登录成功输出结果如下:Welcome to the MySQL monitor. Commands end with ; or g.Your MySQL connection id is 2854760 to server

28、 version: 5.0.9Type help; or h for help. Type c to clear the buffer.在以上实例中,我们使用了 root 用户登录到 mysql 服务器,当然你也可以使用其他 mysql 用户登录。如果用户权限足够,任何用户都可以在 mysql 的命令提示窗口中进行 SQL 操作。退出 mysql 命令提示窗口可以使用 exit 命令,如下所示:mysql exitBye使用 PHP 脚本连接 MySQLPHP 提供了 mysqli_connect() 函数来连接数据库。该函数有 6 个参数,在成功链接到 MySQL 后返回连接标识,失败返回

29、FALSE 。 语法mysqli_connect(host,username,password,dbname,port,socket);参数说明:参数 描述host 可选。规定主机名或 IP 地址。username 可选。规定 MySQL 用户名。password 可选。规定 MySQL 密码。dbname 可选。规定默认使用的数据库。port 可选。规定尝试连接到 MySQL 服务器的端口号。socket 可选。规定 socket 或要使用的已命名 pipe。你可以使用 PHP 的 mysqli_close() 函数来断开与 MySQL 数据库的链接。该函数只有一个参数为 mysqli_co

30、nnect() 函数创建连接成功后返回的 MySQL 连接标识符。语法bool mysqli_close ( mysqli $link )本函数关闭指定的连接标识所关联的到 MySQL 服务器的非持久连接。如果没有指定 link_identifier,则关闭上一个打开的连接。提示:通常不需要使用 mysqli_close(),因为已打开的非持久连接会在脚本执行完毕后自动关闭。实例你可以尝试以下实例来连接到你的 MySQL 服务器:连接 MySQLMySQL 创建数据库 使用 mysqladmin 创建数据库使用普通用户,你可能需要特定的权限来创建或者删除 MySQL 数据库。所以我们这边使用

31、root 用户登录,root 用户拥有最高权限,可以使用 mysql mysqladmin 命令来创建数据库。实例以下命令简单的演示了创建数据库的过程,数据名为 RUNOOB:roothost# mysqladmin -u root -p create RUNOOBEnter password:*以上命令执行成功后会创建 MySQL 数据库 RUNOOB。使用 PHP 脚本 创建数据库PHP 使用 mysqli_query 函数来创建或者删除 MySQL 数据库。 该函数有两个参数,在执行成功时返回 TRUE,否则返回 FALSE。语法mysqli_query(connection,query

32、,resultmode);参数 描述connection 必需。规定要使用的 MySQL 连接。query 必需,规定查询字符串。resultmode可选。一个常量。可以是下列值中的任意一个: MYSQLI_USE_RESULT(如果需要检索大量数据,请使用这个) MYSQLI_STORE_RESULT(默认)实例以下实例演示了使用 PHP 来创建一个数据库:创建数据库; $sql = CREATE DATABASE RUNOOB; $retval = mysqli_query($conn,$sql ); if(! $retval ) die(创建数据库失败: . mysqli_error($

33、conn); echo “数据库 RUNOOB 创建成功n“; mysqli_close($conn); ?执行成功后,返回如下结果:如果数据库已存在,执行后,返回如下结果:MySQL 删除数据库使用 mysqladmin 删除数据库使用普通用户登陆 mysql 服务器,你可能需要特定的权限来创建或者删除 MySQL 数据库。 所以我们这边使用 root 用户登录,root 用户拥有最高权限,可以使用 mysql mysqladmin 命令来创建数据库。 在删除数据库过程中,务必要十分谨慎,因为在执行删除命令后,所有数据将会消失。以下实例删除数据库 RUNOOB(该数据库在前一章节已创建):r

34、oothost# mysqladmin -u root -p drop RUNOOBEnter password:*执行以上删除数据库命令后,会出现一个提示框,来确认是否真的删除数据库:Dropping the database is potentially a very bad thing to do.Any data stored in the database will be destroyed.Do you really want to drop the RUNOOB database y/N yDatabase “RUNOOB“ dropped使用 PHP 脚本删除数据库PHP 使用

35、 mysqli_query 函数来创建或者删除 MySQL 数据库。 该函数有两个参数,在执行成功时返回 TRUE,否则返回 FALSE。 语法mysqli_query(connection,query,resultmode);参数 描述connection 必需。规定要使用的 MySQL 连接。query 必需,规定查询字符串。resultmode可选。一个常量。可以是下列值中的任意一个: MYSQLI_USE_RESULT(如果需要检索大量数据,请使用这个) MYSQLI_STORE_RESULT(默认)实例以下实例演示了使用 PHP mysqli_query 函数来删除数据库:删除数据库

36、; $sql = DROP DATABASE RUNOOB; $retval = mysqli_query( $conn, $sql ); if(! $retval ) die(删除数据库失败: . mysqli_error($conn); echo “数据库 RUNOOB 删除成功n“; mysqli_close($conn); ?执行成功后,数结果为:注意: 在使用 PHP 脚本删除数据库时,不会出现确认是否删除信息,会直接删除指定数据库,所以你在删除数据库时要特别小心。MySQL 选择数据库在你连接到 MySQL 数据库后,可能有多个可以操作的数据库,所以你需要选择你要操作的数据库。 从

37、命令提示窗口中选择 MySQL 数据库在 mysql 提示窗口中可以很简单的选择特定的数据库。你可以使用 SQL 命令来选择指定的数据库。实例以下实例选取了数据库 RUNOOB:roothost# mysql -u root -pEnter password:*mysql use RUNOOB;Database changedmysql执行以上命令后,你就已经成功选择了 RUNOOB 数据库,在后续的操作中都会在 RUNOOB 数据库中执行。注意:所有的数据库名,表名,表字段都是区分大小写的。所以你在使用 SQL 命令时需要输入正确的名称。使用 PHP 脚本选择 MySQL 数据库PHP 提供

38、了函数 mysqli_select_db 来选取一个数据库。函数在执行成功后返回 TRUE ,否则返回 FALSE 。 语法mysqli_select_db(connection,dbname);参数 描述connection 必需。规定要使用的 MySQL 连接。dbname 必需,规定要使用的默认数据库。实例以下实例展示了如何使用 mysqli_select_db 函数来选取一个数据库:删除数据库MySQL 数据类型MySQL 中定义数据字段的类型对你数据库的优化是非常重要的。 MySQL 支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。 数值类型MySQL 支持所有

39、标准 SQL 数值数据类型。这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL 和 NUMERIC),以及近似数值数据类型(FLOAT、REAL 和 DOUBLE PRECISION)。关键字 INT 是 INTEGER 的同义词,关键字 DEC 是 DECIMAL 的同义词。BIT 数据类型保存位字段值,并且支持 MyISAM、MEMORY、InnoDB 和 BDB 表。 作为 SQL 标准的扩展,MySQL 也支持整数类型 TINYINT、MEDIUMINT 和 BIGINT。下面的表显示了需要的每个整数类型的存储和范围。 类型 大小 范围(有符号) 范围(无符

40、号) 用途 TINYINT 1 字节 (-128,127) (0,255) 小整数值 SMALLINT 2 字节 (-32 768,32 767) (0,65 535) 大整数值 MEDIUMINT 3 字节 (-8 388 608,8 388 607) (0,16 777 215) 大整数值 INT 或INTEGER 4 字节 (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整数值 BIGINT 8 字节 (-9 233 372 036 854 775 808,9 223 372 036 854 775 807) (0,18 446 744

41、 073 709 551 615) 极大整数值 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 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

42、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) ,如果 MD,为M+2 否则为 D+2 依赖于 M 和 D 的值 依赖于 M 和 D 的值 小数值 日期和时间类型表示时间值的日期和时间类型为 DATETIME、DATE、TIMESTAMP、TIME 和 YEAR。每个时间类型有一个有效值范围和一个“零“值,当指定不合法的 MySQL 不能表示的值时使用“零“值。TIMESTAMP 类型有专有的自动更新特性,将在后面描述。类型 大

43、小(字节) 范围 格式 用途 DATE 3 1000-01-01/9999-12-31 YYYY-MM-DD 日期值 TIME 3 -838:59:59/838:59:59 HH:MM:SS 时间值或持续时间 YEAR 1 1901/2155 YYYY 年份值 DATETIME 8 1000-01-01 00:00:00/9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS 混合日期和时间值 TIMESTAMP 4 1970-01-01 00:00:00/2037 年某时 YYYYMMDD HHMMSS 混合日期和时间值,时间戳 字符串类型字符串类型指 CHAR、VA

44、RCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM 和SET。该节描述了这些类型如何工作以及如何在查询中使用这些类型。 类型 大小 用途 CHAR 0-255 字节 定长字符串 VARCHAR 0-65535 字节 变长字符串 TINYBLOB 0-255 字节 不超过 255 个字符的二进制字符串 TINYTEXT 0-255 字节 短文本字符串 BLOB 0-65 535 字节 二进制形式的长文本数据 TEXT 0-65 535 字节 长文本数据 MEDIUMBLOB 0-16 777 215 字节 二进制形式的中等长度文本数据 MEDIUMTEXT 0-16 77

45、7 215 字节 中等长度文本数据 LONGBLOB 0-4 294 967 295字节 二进制形式的极大文本数据 LONGTEXT 0-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 类型,有相同的最大长度和存储需求。 MySQL 创建数据表创建 MySQL 数据表需要以下信息: 表名 表字段名 定义每个表字段语法以下为创建 MySQL 数据表的 SQL 通用语法:CREATE TABLE t

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报