第五章 MySQL复杂查询和触发器

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
19
3.修改记录 修改记录 命令格式1: 命令格式 :修改数据表中全部记录指定字段的值 update <数据表名 set <字段名 数值 数据表名> 字段名1=数值 数据表名 字段名 数值1>, …[字段 字段 数值n] 名n=数值 数值 字段i顺序任意 字段i与数值 一一对应, 顺序任意, 与数值i一一对应 字段 顺序任意,字段 与数值 一一对应,同时修改 多个字段时 只使用一个 只使用一个。 多个字段时set只使用一个。 修改全部记录指定字段值例题 例题: ①修改全部记录指定字段值例题: update stud_information set sex=‘男’; 男
13
修改数据表结构。 修改数据表结构。 修改、增加、删除字段名称、 修改、增加、删除字段名称、字段类型 ⑵增加字段命令格式: 增加字段命令格式: 命令格式 alter table 数据表名 add 字段名 字段类型; 字段类型; 增加字段例题: ①增加字段例题: alter table stud_info add mobil char (12);
14
修改数据表结构。 修改数据表结构。 修改、增加、删除字段名称、 修改、增加、删除字段名称、字段类型 ⑶删除字段命令格式: 删除字段命令格式: 命令格式 alter table 数据表名 drop 字段名; 字段名; 删除字段例题: ①删除字段例题: alter table stud_info drop mobil;
7
create table 方式创建主键例题
drop table if exists stud_info; create table stud_info ( id char(8) not null, name char(12) not null, sex char(2) default ‘男’, 男 birthday date not null default ‘1990-01-08’, 生物信息学’ major char(6) not null default ‘生物信息学’, 生物信息学 primary key pk_id (id));
9
删除索引, 删除索引,主键
删除索引命令格式: 删除索引命令格式: drop index 索引名称 on 数据表名; 数据表名; 删除主键命令格式: 删除主键命令格式: alter table 数据表名 drop primary key; ;
10
删除Fra Baidu bibliotek引、 删除索引、主键例题
删除索引: 删除索引: drop index 索引名称 on 数据表名; 数据表名; drop index idx_major on stud_info; 删除主键: 删除主键: alter table 数据表名 drop primary key; ; alter table stud_info drop primary key;
8
alter table 方式添加主键例题
drop table if exists stud_info; create table stud_info ( id char(8) not null, name char(12) not null, sex char(2) default ‘男’, 男 birthday date not null default ‘1990-01-08’, 生物信息学’ major char(6) not null default ‘生物信息学’); 生物信息学 alter table stud_info add primary key pk_id (id);
16
6.更换数据表名。 更换数据表名。 更换数据表名 命令格式: 命令格式: rename table 数据表名 to 新数据表名; 新数据表名; 更换数据表名例题 例题: ①更换数据表名例题: rename table stud_info to stud_infomation; 将 数据表名为stud_info的更换为 数据表名为 的更换为 stud_information
5
create index 方式索引例题
drop table if exists stud_info; create table stud_info ( id char(8) not null, name char(12) not null, sex char(2) default ‘男’, 男 birthday date not null default ‘1990-01-08’, major char(6) not null default ‘生物信息学’); 生物信息学’ 生物信息学 create index idx_major on stud_info(major); create unique index idx_id on stud_info (id);
18
2.删除记录 删除记录 命令格式1:删除数据表中全部记录。 命令格式 :删除数据表中全部记录。 delete from 数据表名; 数据表名; 删除数据表中全部记录例题 例题: ①删除数据表中全部记录例题: delete from stud_information ; 命令格式2:删除数据表中符合条件的记录。 命令格式 :删除数据表中符合条件的记录。 delete from 数据表名 where 条件表达式 删除数据表中符合条件的记录例题 例题: ②删除数据表中符合条件的记录例题: delete from stud_information where id= ‘200801001’;
12
修改数据表结构。 修改数据表结构。 修改、增加、删除字段名称、 修改、增加、删除字段名称、字段类型 修改字段命令格式 命令格式: ⑴修改字段命令格式: alter table 数据表名 change 原字段名 新字段名 ; 修改字段名例题: ①修改字段名例题: alter table stud_info change sex stu_sex char(2); 修改字段类型例题: ②修改字段类型例题: alter table stud_info change name name char(20);
15
5.删除数据表。 删除数据表。 删除数据表 命令格式: 命令格式: drop table [if exists] 数据表名; 数据表名; 直接删除数据表例题 删除数据表例题: ①直接删除数据表例题: drop table stud_info; 删除 删除stud_info数据表 数据表 如果数据表存在就删除数据表: ②如果数据表存在就删除数据表: drop table if exists stud_info; 如果 如果stud_info数 数 据表存在就删除stud_info数据表 据表存在就删除 数据表
20
3.修改记录 修改记录 命令格式2: 命令格式 :修改数据表中符合条件的记录指定字 段的值
update <数据表名 set <字段名 数值 数据表名> 字段名1=数值 字段名n=数 数据表名 字段名 数值1>, …[字段名 数 字段名 值n] where <条件表达式 条件表达式> 条件表达式
6
1.2主键 主键
主键字段值(键值)非空且不重, 主键字段值(键值)非空且不重,可以多字段组合 主键,一个数据表中主键只能有一个 一个。 主键,一个数据表中主键只能有一个。 创建主键方式: 创建主键方式: 方式一create table 创建索引 方式一 create table <数据表 (字段 定义 …字段 定义 数据表> 字段1定义 定义, 数据表 字段 定义,…字段n定义 primary key [索引名称 (字段 字段 ,…])); 索引名称] 字段1[,字段 索引名称 字段 字段2 … 添加主键方式: 添加主键方式: 方式二alter table 添加索引 方式二 alter table 数据表 add primary key [索引名 (字 索引名] 索引名 字 字段2]); 段1[,字段 字段
生物信息学数据库设计
第五章 MySQL复杂查询和触发器 复杂查询和触发器
多表查询及触发器
多表查询 触发器
2
一 多表查询
索引 主键 维护表 查询
1.1索引 索引
索引的作用:提高搜索速度,减少查询时间。 索引的作用:提高搜索速度,减少查询时间。 创建索引( 方式: 创建索引(键)方式: 方式一create table 创建索引 方式一 create table <数据表 (字段 定义 …字段 定义 数据表> 字段1定义 定义, 数据表 字段 定义,…字段n定义 index [索引名称 (字段 字段 ,…]), 索引名称] 字段1[,字段 索引名称 字段 字段2 … unique [索引名称 (字段 字段 …]) ); 索引名称] 字段1[,字段 索引名称 字段 字段2,… 方式二create [unique]index添加索引 方式二 添加索引 create index [索引名 on 数据表 (字段 字段 索引名] 字段1[,字段 索引名 字段 字段2]); 索引名] 字段1[, create unique index [索引名 on 数据表 (字段 索引名 字段 字段2]); 字段 =unique 选项不重
21
1.5选取数据表记录 选取数据表记录
1.选取数据表数据表达式结果命令格式 选取数据表数据表达式结果命令格式 命令格式2:选取数据表中指定字段, 命令格式 :选取数据表中指定字段,指定记录的结 并对输出结果进行重组。 果,并对输出结果进行重组。 select <字段名表 [from <数据表名表 where <条 字段名表> 数据表名表> 字段名表 数据表名表 条 件表达式> 件表达式 [order by 字段名 [asc | desc]] [having (arithematic function condition)] [group by <字段名 ] 字段名>] 字段名 字段名表: 字段名表:显示获取结果 from数据表名表:数据源 数据表名表: 数据表名表 where条件表达式:获取数据条件 条件表达式: 条件表达式 order by 字段名:按字段进行升序 字段名:按字段进行升序asc或降序 或降序desc 或降序 排序 group by 字段名:按字段进行分组 字段名:
11
1.3维护 维护MySQL数据表 维护 数据表
显示数据表结构。 显示数据表结构。 命令格式: 命令格式: describe <数据表文件名 ; 数据表文件名>; 数据表文件名 例题:显示stud_info数据表的结构。 数据表的结构。 例题:显示 数据表的结构 mysql>describe stud_info ;
17
1.4维护数据表记录 维护数据表记录
1.增加记录 增加记录 命令格式: 命令格式: insert into 数据表名 (字段名 …字段名 values 字段名1, 字段名 字段名n) 字段名 (数值 ,…数值 ; 数值1, 数值 数值n) 数值 字段i顺序任意,字段i与数值i一一对应。 字段i顺序任意,字段i与数值i一一对应。
的出生日期为‘ ①修改学号为’200801001’的出生日期为‘1991-1修改学号为’200801001 的出生日期为 19911’,专业为‘临床医学’例题: ,专业为‘临床医学’例题:
update stud_info set birthday=‘1991-1-1’,major=‘临床医 临床医 学’ where id=‘200801001’;
4
create table 方式索引例题
drop table if exists stud_info; create table stud_info ( id char(8) not null, name char(12) not null, sex char(2) default ‘男’, 男 birthday date not null default ‘1990-01-08’, major char(6) not null default ‘生物信息学’, 生物信息学’ 生物信息学 index idx_major (major), unique idx_id (id));
相关文档
最新文档