第9讲 MySQL数据库系统
简介
- 关系型数据库管理系统(Relational Database Management System, RDBMS)
- 多用于网站开发
- 结构化查询语言(Structure Query Language, SQL)
- 可免费下载安装
实例1: 最简单的数据表
- 进入MySQL系统:mysql -u 账户名 -p
- 显示数据库:SHOW DATABASES; (注意分号)
- 调用数据库:USE 数据库名(账户名即数据库名,如leb1
- 显示当前数据库中的数据表:SHOW TABLES; (第一次使用MySQL时,没有数据表)
- 创建数据表:CREATE TABLE table1 (列名 数据类型, 列名 数据类型);
- 插入数据:INSERT INTO table1 VALUES (第1列数据, 第2列数据); (可以同时插入多行)
- 查看数据:SELECT * FROM 数据表名;
实例2:LEB25选课名单
- 创建数据表:CREATE TABLE 数据表名 (列名 数据类型, 列名 数据类型, ...); (共5列)
- 导入数据:LOAD DATA LOCAL INFILE '数据文件名' INTO TABLE 数据表名;
- 查看数据:SELECT * FROM 数据表名;
- 删除数据:DELETE FROM 数据表名 WHERE 删除条件; (如删除编号等于12或账号为leb35的两位退选同学)
- 添加数据:INSERT INTO 数据表名 VALUES (第1列数据, 第2列数据, ...); (如农科院两位补选的同学)
- 导出数据:SELECT * FROM 数据表名 INTO OUTFILE '/tmp/文件名; (建议用个人账号作文件名,如leb1)
实例3:脊椎动物珠蛋白
- 数据准备
- 数据下载:从UniProt数据库中下载977个脊椎动物珠蛋白的基本信息
- 数据格式:登录号、序列名、基因名、蛋白名、分类号、物种名、序列长、收录日
- 创建数据表 (见服务器public/mysql/目录)
- CREATE TABLE 数据表名 (
- 编号no INT AUTO_INCREMENT PRIMARY KEY,
- 登录号id 数据类型,
- 序列名entry 数据类型,
- 基因名gene 数据类型,
- 蛋白名protein 数据类型,
- 分类号taxon 数据类型,
- 物种名species 数据类型,
- 序列长length 数据类型,
- 收录日date 数据类型);
- 导入数据: LOAD DATA LOCAL INFILE '数据文件名' INTO 数据表名;
-
查看数据
- 按序列长度从小到大查看若干个序列:SELECT * FROM 数据表名 ORDER BY 序列长 LIMIT 序列个数;
- 查看序列长度超过1000的序列:SELECT * FROM 数据表名 WHERE length > 1000; (2个)
- 查看人类的珠蛋白:SELECT * FROM 数据表名 WHERE taxon = 9606; (13个)
- 查看小鼠或大鼠的珠蛋白:SELECT * FROM 数据表名 WHERE species LIKE 'Mouse' OR Species LIKE 'Rat'; (17个)
常用数据表操作举例
- 查看若干行数据:SELECT * FROM 表名 LIMIT 行数;
- 查看特定行数据:SELECT * FROM 表名 WHERE 列名 LIKE '列值%';
- 按某列字母顺序查看数据:SELECT * FROM 表名 ORDER BY 列名;
- 更新某行数据:UPDATE 表名 SET 列名 = 新的列值, ... WHERE 列名 LIKE '原有列值%
- 修改列名:ALTER TABLE 表名 CHANGE COLUMN 原列名 新列名 数据类型;
- 修改表名:RENAME TABLE 原表名 TO 新表名;