一、MySQL数据库表的数据插入、修改、删除和查询

 CREATE DATABASE db0504;

 USE db0504;

 CREATE TABLE student (
sno VARCHAR (10) NOT NULL UNIQUE PRIMARY KEY,
sname VARCHAR (20) NOT NULL,
ssex enum ('男', '女') NOT NULL DEFAULT '男',
sbirth date,
sclass VARCHAR (10),
zno CHAR (4)
) DEFAULT charset = gb2312;
#添加操作
INSERT INTO student
VALUES('','丁暖','女','1993-9-9','物联网12-1','z002'); INSERT INTO student (sno,sname,ssex,sbirth,sclass,zno)
VALUES('','孔超','男','1993-9-19','自动化11-1','z006'); INSERT INTO student (sno, sname, ssex, zno)
VALUES('','韩梅','女','z006'); INSERT INTO student (sname, zno, sno)
VALUES('韩梅2','z006',''); INSERT INTO student VALUES
('','孔超1','男','1993-9-19','自动化11-1','z006');
('','孔超2','男','1993-9-19','自动化11-1','z006');
('','孔超3','男','1993-9-19','自动化11-1','z006');
('','孔超4','男','1993-9-19','自动化11-1','z006');
#修改操作
UPDATE student
SET sname = '张三',sbirth = '1993-6-19'
WHERE sname = '丁暖'; UPDATE student SET zno = LEFT (zno, 3);
#删除操作
delete from student
where sname='张三'; #查询操作
SELECT * FROM student;#查询student表的所有记录
SELECT sno,sname,ssex,sbirth FROM student;#查询部分字段信息
SELECT * FROM student WHERE age BETWEEN 25 AND 30; #清空表操作
truncate student;#高效
delete from student;

操作SQL语法格式:

插入:insert

修改:update

删除:delete

查询:select

二、设计型实验三

1.创建表

 CREATE DATABASE homework;

 USE homework;

 CREATE TABLE student (
Num INT (10) NOT NULL UNIQUE PRIMARY KEY,
name VARCHAR(20) NOT NULL,
Sex VARCHAR(4) NOT NULL,
birthday DATETIME,
bumen VARCHAR(20) NOT NULL,
address VARCHAR(50)
) DEFAULT charset = gb2312; CREATE TABLE score (
Id INT(10) NOT NULL UNIQUE PRIMARY KEY,
C_name VARCHAR(20),
Stu_id INT(10) NOT NULL,
grade INT(10),
CONSTRAINT score_fk FOREIGN KEY(Stu_id) REFERENCES student(Num)
) DEFAULT charset = gb2312; INSERT INTO student VALUES
('','张军','男','1985-1-1','计算机系','北京市海淀区'),
('','张超','男','1986-2-2','中文系','北京市昌平区'),
('','张美','女','1990-2-1','中文系','湖南省永州市'),
('','李五一','男','1990-2-3','英语系','辽宁省阜新市'),
('','王芳','女','1991-4-6','英语系','福建省厦门市'),
('','王桂','男','1988-6-7','计算机系','湖南省衡阳市'); INSERT INTO score VALUES
(1001,'计算机','',''),
(1002,'英语','',''),
(1003,'计算机','',''),
(1004,'中文','',''),
(1005,'中文','',''),
(1006,'计算机','',''),
(1007,'英语','',''),
(1008,'英语','',''),
(1009,'计算机','',''),
(1010,'英语','','');

2.查询student表的操作

#查询student表的所有记录
SELECT * FROM student;
SELECT Num,name,Sex,birthday,bumen,address FROM student;
#查询student表的第2条到第4条记录
SELECT Num,name,Sex,birthday,bumen,address FROM student LIMIT 1,3;
#从student表中查询所有学生的学号、姓名和院系的信息
SELECT Num,name,bumen FROM student;
#查询计算机系和英语系学生的信息
SELECT * FROM student WHERE bumen IN('计算机系','英语系');
SELECT * FROM student WHERE bumen='计算机系' OR bumen='英语系';
#从student表中查询年龄为18-22岁学生的信息
ALTER TABLE student ADD age INT(4);
ALTER TABLE student MODIFY age INT(4) AFTER Sex;
UPDATE student SET age=24 WHERE Num=901;
UPDATE student SET age=23 WHERE Num=902;
UPDATE student SET age=19 WHERE Num=903;
UPDATE student SET age=19 WHERE Num=904;
UPDATE student SET age=18 WHERE Num=905;
UPDATE student SET age=21 WHERE Num=906;
SELECT * FROM student WHERE age BETWEEN 18 AND 22;
SELECT * FROM student WHERE age>=18 AND age<=22;
#从student表中查询每个院系有多少人,为统计的人数列取别名sum_of_bumen
SELECT bumen,COUNT(bumen) AS sum_of_bumen FROM student GROUP BY bumen;

3.两表综合查询

#从score表中查询每个科目的最高分
SELECT C_name,MAX(grade) FROM score GROUP BY C_name;
#查询李五一的考试科目(C_name)和考试成绩(grade)
select C_name,grade from student left join score on student.Num=score.Stu_id where name='李五一';
#用连接查询的方式查询所有学生的信息和考试信息
select * from student left join score on student.Num=score.Stu_id;
#计算每个学生的总成绩(需显示学生姓名)
select name '姓名',SUM(grade) '总成绩' from student left join score on student.Num=score.Stu_id group by name;
#计算每个考试科目的平均成绩
select C_name '考试科目',AVG(grade) '平均成绩' from student left join score on student.Num=score.Stu_id group by C_name;
#查询计算机成绩低于95分的学生信息
select * from student left join score on student.Num=score.Stu_id where grade<95 AND C_name='计算机';
#将计算机成绩按从高到低排序
select grade '计算机成绩' from score where C_name='计算机' order by grade desc;#asc升序,desc降序
#从student表和score表中查询学生的学号,然后合并查询结果
select Num '学号' from student union select Stu_id from score;
#查询姓张或者姓王的同学的姓名、院系、考试科目和成绩
select name,bumen,C_name,grade from student left join score on student.Num=score.Stu_id where name like '张%' union
select name,bumen,C_name,grade from student left join score on student.Num=score.Stu_id where name like '王%';
#查询都是湖南的学生的姓名、年龄、院系、考试科目和成绩
select name,age,bumen,C_name,grade from student left join score on student.Num=score.Stu_id where address like '湖南%';

这个查询同时参加计算机和英语考试的学生信息难了我好久,下面提供三种做法:

#查询同时参加计算机和英语考试的学生的信息做法一
select * from student where Num in (
select Stu_id from score where C_name ='计算机' and Stu_id in(select Stu_id from score where C_name ='英语'));
#查询同时参加计算机和英语考试的学生的信息做法二
SELECT a.* FROM student a,score b,score c WHERE a.Num=b.Stu_id AND b.C_name='计算机'
AND a.Num=c.Stu_id AND c.C_name='英语';
#查询同时参加计算机和英语考试的学生的信息做法三
SELECT * FROM student WHERE Num =ANY( SELECT Stu_id FROM score WHERE Stu_id IN (
SELECT Stu_id FROM score WHERE C_name='计算机') AND C_name='英语');

MySQL数据库表的数据插入、修改、删除、查询操作及实例应用的更多相关文章

  1. 查看mysql数据库表大小和最后修改时间

    查看mysql数据库表相关信息如表大小.修改更新等信息,可以通过以下方式: 一   show table status like ’table_name‘ ; 二 在infortmation_sche ...

  2. Hibernate 插入,修改,删除,查询语句

    /* *具体操作hibernate的类 *增加,删除,修改,按ID查询,模糊查询,查询全部 **/ public class PersonOperate { //在hibernate中所有操作都是由S ...

  3. linux 导出mysql数据库表及数据

    导出表及结构 mysqldump -h地址ip -u用户名 -p密码 数据库名 > 数据库名.sql --连接数据库 mysql  -h地址ip -u用户名 -p密码 --使用数据库 user ...

  4. Xamarin.Android 入门实例(4)之实现对 SQLLite 进行添加/修改/删除/查询操作

    1.Main.axml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns: ...

  5. MySQL 数据库怎样把一个表的数据插入到另一个表

         web开发中,我们经常需要将一个表的数据插入到另外一个表,有时还需要指定导入字段,设置只需要导入目标表中不存在的记录,虽然这些都可以在程序中拆分成简单sql来实现,但是用一个sql的话,会节 ...

  6. MySQL进阶11--DDL数据库定义语言--库创建/修改/删除--表的创建/修改/删除/复制

    /*进阶 11 DDL 数据库定义语言 库和表的管理 一:库的管理:创建/修改/删除 二:表的管理:创建/修改/删除 创建: CREATE DATABASE [IF NOT EXISTS] 库名; 修 ...

  7. MySQL 数据库中如何把A表的数据插入到B表?

    web开发中,我们经常需要将一个表的数据插入到另外一个表,有时还需要指定导入字段,设置只需要导入目标表中不存在的记录,虽然这些都可以在程序中拆分成简单sql来实现,但是用一个sql的话,会节省大量代码 ...

  8. MySql中把一个表的数据插入到另一个表中的实现代码

    web开发中,我们经常需要将一个表的数据插入到另外一个表,有时还需要指定导入字段,设置只需要导入目标表中不存在的记录,虽然这些都可以在程序中拆分成简单sql来实现,但是用一个sql的话,会节省大量代码 ...

  9. 删除mysql数据库中表分区数据

    删除mysql数据库中表分区数据 zabbix 几个大表创建了分区,由于磁盘空间告警,特将3月前的分区给予删除. 1.查看表的数据占用磁盘空间情况 2.登录mysql中,查看表的分区情况. 3.删除表 ...

随机推荐

  1. ccf 201803-4 棋局评估 (对抗搜索)

    棋局评估 问题描述 Alice和Bob正在玩井字棋游戏. 井字棋游戏的规则很简单:两人轮流往3*3的棋盘中放棋子,Alice放的是“X”,Bob放的是“O”,Alice执先.当同一种棋子占据一行.一列 ...

  2. 微信小程序获取当前所在城市

    本篇文章主要讲解在微信小程序中,如何利用微信自带的api(wx.getLocation())结合百度地图的逆地址解析api来获取当前所在城市名. 实现起来也比较简单,步骤为: 1--利用微信小程序接口 ...

  3. CAS配置记录

    CAS配置(1)之证书配置 CAS配置(2)之主配置 CAS配置(3)之restful-api接入接口

  4. wap网测一道题目

    1. 给定一个字符串s, 1 <= len(s) <= 3000, 定义odd palindrome string为长度为奇数的回文串, 求s中该奇回文串的个数. 比如axbcba , 结 ...

  5. 【Codeforces】Codeforces Round #373 (Div. 2)

    B. Anatoly and Cockroaches Anatoly lives in the university dorm as many other students do. As you kn ...

  6. SQLServer2008 表连接时null 和 null 无法匹配?

    例如 select * from tbl_a a left join tbl_b b on b.docno=a.docno and b.project=a.project where a.docno= ...

  7. P1796 汤姆斯的天堂梦_NOI导刊2010提高(05)

    题目描述 汤姆斯生活在一个等级为0的星球上.那里的环境极其恶劣,每天12小时的工作和成堆的垃圾让人忍无可忍.他向往着等级为N的星球上天堂般的生活. 有一些航班将人从低等级的星球送上高一级的星球,有时需 ...

  8. Android 解析XML—pull解析方式

    在Android中,常见的XML解析器分别为SAX解析器.DOM解析器和PULL解析器,其中PULL解析器小巧轻便,解析速度快,简单易用,非常适合在Android移动设备中使用,Android系统内部 ...

  9. python爬虫:找房助手V1.0-爬取58同城租房信息

    1.用于爬取58上的租房信息,限成都,其他地方的,可以把网址改改: 2.这个爬虫有一点问题,就是没用多线程,因为我用了之后总是会报: 'module' object has no attribute ...

  10. Js正则匹配处理时间

    <html> <body> <script type="text/javascript"> //将long 型 转换为 日期格式 年-月-日 h ...