mysql自学使用教程ppt(无水印).ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
逻辑运算符 建立表操作: 语法:create table 表名( 列名1 列类型 [列的完整性约束], 列名2 列类型 [列的完整性约束], ... ... ); 叙 述:在当前数据库下新创建一个数据表。 列类型:表示该列的数据类型。 例: 建立一个表school,其由两列组成,第一列属性为非空,并做为主键,并自增 create table school( school_id int(10) not null auto_increment primary key, school_name varchar(20) ); 创建表 常见完整性约束: PRIMARY KEY 主码约束(主键) UNIQUE 唯一性约束 NOT NULL 非空值约束 AUTO_INCREMENT 用于整数列默认自增1 UNSIGNED 无符号整数 DEFAULT default_value 默认值约束 DEFAULT cur_timestamp 创建新记录时默认保存当前时间(仅适用timestamp数据列) ON UPDATE cur_timestamp 修改记录时默认保存当前时间(仅适用timestamp数据列) CHARACTER SET name 指定字符集(仅适用字符串) 数据表类型 在创建一个新的MySQL数据表时,可以为它设置一个类型,其中最重要的3种类型是 MyISAM:成熟、稳定和易于管理 InnoDB:加入事物、数据行级锁定机制、外键约束条件、崩溃恢复等新功能 HEAP:只存在于内存中,可做临时表 create table tmp(…)ENGINE=MyISAM 主键与外键 数据表之间的关联/引用关系是依靠具体的主键(primary key)和外键(foreign key)建立起来的。 主键:帮助MySQL以最快的速度把一条特点的数据记录的位置确定下来。 主键必须是唯一的 主键应该是紧凑的,因此整数类型比较适合 外键:引用另外一个数据表的某条记录。 外键列类型尽可能与主键列类型保持一致 外键列应该加上NOT NULL 主键 create table student( sid int not null auto_increment, name varchar(20) not null, primary key(sid) ); 外键(自动检查外键是否匹配,仅适用InnoDB) create table score( cid int not null auto_increment primary key, score int, sid int, foreign key(sid) references student(sid) ); 主表和从表 1、当主表中没有对应的记录时,不能将记录添加到子表 ——成绩表中不能出现在学员信息表中不存在的学号; 2、不能更改主表中的值而导致子表中的记录孤立 ——把学员信息表中的学号改变了,学员成绩表中的学号也应当随之改变; 3、子表存在与主表对应的记录,不能从主表中删除该行 ——不能把有成绩的学员删除了 4、删除主表前,先删子表 ——先删学员成绩表、后删除学员信息表 思考 电话号码一般使用什么数据类型存储? 性别一般使用什么数据类型存储? 年龄信息一般使用什么数据类型存储? 照片信息一般使用什么数据类型存储? 薪水一般使用什么数据类型存储? 思考 学员姓名允许为空吗? 家庭地址允许为空吗? 电子邮件信息允许为空吗? 考试成绩允许为空吗? 思考 在主键列输入的数值,允许为空吗?不允许 一个表可以有多个主键吗?不可以 在一个学校数据库中,如果一个学校内允许重名的学员,但是一个班级内不允许学员重名,可以组合班级和姓名两个字段一起来作为主键吗? 选择主键的原则 最少性 尽量选择单个键作为主键 稳定性 尽量选择数值更新少的列作为主键 思考 标识列允许为字符数据类型吗?INT 如果标识列A的初始值为1,则输入三行数据以后,再删除两行,下次再输入数据行的时候,标识值从多少开始?四 例:建立一个学生信息表(student) 定义列sno学号,类型为5位定长字符串,非空,主键 定义列sname姓名,类型为8位定长字符串,非空 定义列ssex性别,取值1或0 定义列sage年龄,类型为短整型 定义列sdept系名,数据类型为20位变长字符串 例:建立一个课程信息表(course) 定义列courseid课程号,类型为整型,非空,自动增长,主键 定义列cname课程名,类型为16位变长字符串,非空 例:建立一个学生考试成绩信息表(sc) 定义列grade成绩,类型为整型 要求 把表字段补充完整,可以通

文档评论(0)

wx171113 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档