表示索引为唯一性索引。指索引的长度,必须是字符串类型才可以使用。如果在创建索引时没写索引名称,MySQL会自动用字段名作为索引名称。其中table_name是要增加索引的表名,column_list指出对哪些列进行索引,多列时各列之间用逗号分隔。另外,ALTER TABLE允许在单个语句中更改多个表,因此可以在同时创建多个索引。另外,不能用CREATE INDEX语句创建PRIMARY KEY索引。......
2023-10-29
表是由定义的列数和可变的行数组成的逻辑结构,其中每一列称为一个字段,每一行称为一条记录。在MySQL中创建的语法格式如下:
对以上语法格式中各属性的描述如下。
➢ table_name:创建的表的名称。
➢ column_name:表内字段的名称。
➢ datatype:字段的数据类型。
➢ null | not null:字段是否可以为空。
➢ DEFAULT:给字段提供一个默认值。
➢ AUTO_INCREMENT:自动增长。
➢ PRIMARY_KEY:主键。
➢ COMMENT:对字段的注释。
当创建表时,必须指定表名、列名及数据类型。对同一个表而言,列名必须唯一,每一列都必须指定数据类型。
下面在数据库shop中创建一个buyer表来存储顾客的编号、姓名、密码、邮箱地址,如图4.5所示。
(www.chuimin.cn)
图4.5 创建表stuinfo
创建完表以后可使用show tables命令来查看当前数据库中可用的表。如果想进一步查看某个表的结构可使用DESCRIBE命令,如图4.6所示。
图4.6 查看表结构
在本节的开头曾列出了创建表的格式,从格式中可看出每一个字段都有好几个属性,而在前面创建的buyer表中字段的属性显然非常简单,下面将通过创建一个复杂的表来介绍字段的各个属性,创建表的语句如图4.7所示。
图4.7 创建表item
在图4.7中创建了一个名为item的表。在字段id中,int说明id的类型是int型的,not null要求这一列不能为空,auto_increment表示该列自动增长,即每次在该列插入一条新纪录时,该列的值都会自动加1,primary key标志着该列是作为主键来使用的,comment是一个注释标识。在字段item_count中,default 0表示当对表插入纪录时,若对该列没有指定值,则该列默认赋值为0。在字段other中,null表示允许该列为空,若没有特别指定该列为null或not null,默认情况下该列允许为空。
创建完表以后,通过DESCRIBE查看item的表结构,如图4.8所示。
图4.8 查看表item的表结构
要查看注释标识可通过show create table命令。与创建数据库类似,如果创建一个已存在的表也会发生错误,同样可使用IF NOT EXISTS修饰符来避免此错误的发生。
有关MySQL数据库设计与实现的文章
表示索引为唯一性索引。指索引的长度,必须是字符串类型才可以使用。如果在创建索引时没写索引名称,MySQL会自动用字段名作为索引名称。其中table_name是要增加索引的表名,column_list指出对哪些列进行索引,多列时各列之间用逗号分隔。另外,ALTER TABLE允许在单个语句中更改多个表,因此可以在同时创建多个索引。另外,不能用CREATE INDEX语句创建PRIMARY KEY索引。......
2023-10-29
由于不是所有的用户都习惯于用命令行程序,所以开发了GUI程序。下面就介绍一下SQLyog。SQLyog是业界著名的Webyog公司出品的一款简洁高效、功能强大的图形化MySQL数据库管理工具。使用SQLyog可以快速直观地让您从世界的任何角落通过网络来维护远端的MySQL数据库。图2.19SQLyog连接数据库进入管理界面,如图2.20所示。图2.22SQLyog查询视图结果视图,如图2.23所示。图2.23SQLyog结果视图数据库选择、常用工具栏,如图2.24所示。图2.25SQLyog菜单栏SQLyog常用技巧: Ctrl+Enter代码提示。......
2023-10-29
单语句存储过程非常有用,但存储过程的真正功能在于它能够封装和执行多个语句。因为这两个应用程序都需要能够计算奖金数额,所以这个任务非常适合使用存储函数实现。本节余下部分主要介绍创建多语句存储过程时常用的语法。......
2023-10-29
向表中插入数据通过INSERT命令来完成,该命令的语法格式如下:“insert …values”这种格式是目前最常用的,下面是对该格式中各属性的介绍。table_name:要插入数据的表名。ON DUPLICATE KEY UPDATE:当插入的记录会引发主键冲突或者违反唯一约束时,就会对发生冲突的列进行更新操作,使用该条件的前提是要插入的表存在主键或唯一索引。图4.18使用ON DUPLICATE KEY UPDATE条件的例子2.使用“insert…set”插入数据使用“insert…set”格式的语句可根据明确指定的值插入数据。......
2023-10-29
这一节将重点讨论促使MySQL风行的一些关键特性。接下来,还将提供有关MySQL产品两个主要里程碑版本的重要信息。庞大的开源社区:MySQL之所以如此流行和受欢迎,很大一部分功劳要归功于开源社区的积极支持。在开源社区中不仅能了解到MySQL的最新发展动态,还能快速地解决一些问题和难题。......
2023-10-29
E-R图是用来描述现实世界的模型,通过E-R图可以更准确、更方便地了解用户的需求。本节将介绍如何将E-R图转换为关系型数据库中的表,在1.4节将介绍如何审核表的结构是否规范。例如,可将“学员”实体转换为一个表,如图1.6所示。图1.9M∶N关系的转换......
2023-10-29
事实上,这有很多用处,但是如果需要从一些不同的MySQL服务器上聚合数据,其中有些服务器可能位于网络之外甚至归另外的公司所有,这时该怎么办?为缓解此问题,可以使用MySQL 5.0.3可用的FEDERATED存储引擎,创建远程表的本地指针。因为创建FEDERATED表的过程与其他表稍有不同,所以需要做一些补充解释。为此,在服务器B上创建一个相同的表结构,唯一的区别是该表引擎类型应当为FEDERATED,而不是MyISAM。减少连接管理的麻烦并不是FEDERATED表的唯一目的。......
2023-10-29
不属于1NF的关系称为非规范化关系,见表1.4;经过转化形成规范化的关系,记作关系模式SCD,见表1.5。表1.4非规范化关系表1.5规范化关系第一范式还可以理解为:每一个数据项都不能拆分成两个或两个以上的数据项。表1.6SC表表1.7SD表这两个表都不存在部分依赖,它们都是第二范式。表1.8S表表1.9D表可以看出,S表和D表各自描述单一的现实事物,都不存在传递依赖关系,都是第三范式。......
2023-10-29
相关推荐