My SQL数据库实用技术(04)
时间:2007-12-23 来源:不详 作者:迈克DB
将此语句键入mysql 或执行下列外壳程序的命令:
score 为一个INT (整型)列。即,假定学分值总是为一个整数。假如希望使学分值具有小数部分,如5 8 . 5,应该采用浮点列类型,如F L O AT 或D E C I M A L。student_id 列和event_id 列都是整型,分别表示每个学分所对应的学生和事件。通过利用它们来连接到student 和event 表,我们能够知道学生名和事件的日期。我们将两个列组成了P R I M A RY KEY。这保证我们不会对同一测验或测试重复一个学生的学分。而且,这样还很轻易在以后更改某个学分。例如,在发现学分录入错时,可以在利用MySQL 的R E P L A C E语句放入一个新记录,替换掉旧的记录。不需要执行DELETE 语句与I N S E RT 语句;M y S Q L自动替我们做了。请注重,它是惟一的event_id 和student_id 的组合。在score 表中,两者自身都可能不惟一。一个event_id 值可有多个学分记录(每个学生对应一个记录),而每个student_id 值都对应多个记录(每个测验和测试有一个记录)。用于出勤情况的absence 表如下定义:
将此语句键入mysql 或执行下列外壳程序的命令:
织梦好,好织梦
student_id 和date 列两者都定义为NOT NULL,不答应省略值。应定义这两列的组合为主键,以免不当心建立了重复的记录。重要的是不要对同一天某个学生的缺旷进行重复计数。
1.4.7 增加新记录
至此,我们的数据库及其表都已经创建了,在下一节“检索信息”中,我们将看到怎样从数据库中取出数据。现在我们先将一些数据放入表中。在数据库中加入数据有几种方法。可通过发布I N S E RT 语句手工将记录插入某个表中。还可以通过从某个文件读取它们来增加记录,在这个文件中,记录既可以是利用L O A DD ATA 语句或mysqlimport 实用程序装入的原始数据值,也可以是预先写成可馈入mysql 的I N S E RT 语句的形式。本节介绍将记录插入表的每种方法。您所应做的是演习各种方法以明了它们是如何起作用的。然后到本节结束处运行那儿给出的命令来清除表并重装它们。这样做,能够保证表中含有作者撰写下一节时所处理的相同记录,您也能得到相同的结果。让我们开始利用I N S E RT 语句来增加记录,这是一个SQL 语句,需要为它指定希望插入数据行的表或将值按行放入的表。I N S E RT 语句具有几种形式: 织梦好,好织梦
■ 可指定所有列的值
例如:
“I N TO”一词自MySQL 3.22.5 以来是可选的。(这一点对其他形式的I N S E RT 语句也成立。)VALUES 表必须包含表中每列的值,并且按表中列的存放次序给出。(一般,这就是创建表时列的定义次序。假如不能肯定的话,可使用DESCRIBE tbl_name 来查看这个次序。)在MySQL 中,可用单引号或双引号将串和日期值括起来。上面例子中的N U L L值是用于student 和event 表中的A U TO_INCREMENT 列的。(插入“错误”的值将导致下一个student_id 或event_id 号的自动生成。)自3.22.5 以来的MySQL 版本答应通过指定多个值的列表,利用单个的I N S E RT语句将几行插入一个表中,如下所示:
上一篇:My SQL数据库实用技术(02) 下一篇:My SQL数据库实用技术(03)
文章评论
共有位Admini5网友发表了评论 查看完整内容