第10讲 MySQL数据库实例
实例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个脊椎动物珠蛋白的基本信息
- 数据格式:登录号、序列名、基因名、蛋白名、分类号、物种名、序列长、收录日
- CREATE TABLE 数据表名 (
- 编号no INT AUTO_INCREMENT PRIMARY KEY,
- 登录号id 数据类型,
- 序列名entry 数据类型,
- 基因名gene 数据类型,
- 蛋白名protein 数据类型,
- 分类号taxon 数据类型,
- 物种名species 数据类型,
- 序列长length 数据类型,
- 收录日date 数据类型
- ):
- 按序列长度从小到大查看若干个序列:SELECT * FROM 数据表名 ORDER BY 序列长 LIMIT 序列个数;
- 查看基因名为MB*或mb*的肌红蛋白:SELECT * FROM 数据表名 WHERE gene LIKE 'MB%'; (127个)
- 查看序列长度超过1000的序列:SELECT * FROM 数据表名 WHERE length > 1000; (2个)
- 查看人类珠蛋白:SELECT * FROM 数据表名 WHERE taxon = 9606; (13个)
- 查看小鼠和大鼠珠蛋白:SELECT * FROM 数据表名 WHERE species LIKE 'Mouse' OR Species LIKE 'Rat'; (17个)
- 查看蛋白名Gamma珠蛋白:SELECT * FROM 数据表名 WHERE protein LIKE 'gamma%'; (39个)
- 查看1986年Swiss-Prot创建时收录的数据:SELECT * FROM 数据表名 WHERE date LIKE '1986%'; (330个)
- 查看物种名含Monkey(猴)的数据:SELECT * FROM 数据表 WHERE speicies LIKE '%monkey%'; (37个)
- 查看收录日期并计算收录年数,按从小到大显示前30个序列: SELECT id, date, CURDATE(), TIMESTAMPDIFF(YEAR, date, CURDATE()) AS years FROM 数据表名 ORDER BY years LIMIT 30;