MySQL数据库应用-实验训练3 数据增删改操作.docx

合集下载

MySQL数据库表的数据插入、修改、删除、查询操作及实例应用

MySQL数据库表的数据插入、修改、删除、查询操作及实例应用

MySQL数据库表的数据插⼊、修改、删除、查询操作及实例应⽤⼀、MySQL数据库表的数据插⼊、修改、删除和查询1CREATE DATABASE db0504;23USE db0504;45CREATE TABLE student (6 sno VARCHAR (10) NOT NULL UNIQUE PRIMARY KEY,7 sname VARCHAR (20) NOT NULL,8 ssex enum ('男', '⼥') NOT NULL DEFAULT'男',9 sbirth date,10 sclass VARCHAR (10),11 zno CHAR (4)12 ) DEFAULT charset = gb2312;13 #添加操作14INSERT INTO student15VALUES('2012010713','丁暖','⼥','1993-9-9','物联⽹12-1','z002');1617INSERT INTO student (sno,sname,ssex,sbirth,sclass,zno)18VALUES('2011010503','孔超','男','1993-9-19','⾃动化11-1','z006');1920INSERT INTO student (sno, sname, ssex, zno)21VALUES('2011010521','韩梅','⼥','z006');2223INSERT INTO student (sname, zno, sno)24VALUES('韩梅2','z006','2011010522');2526INSERT INTO student VALUES27 ('2011010501','孔超1','男','1993-9-19','⾃动化11-1','z006');28 ('2011010505','孔超2','男','1993-9-19','⾃动化11-1','z006');29 ('2011010504','孔超3','男','1993-9-19','⾃动化11-1','z006');30 ('2011010505','孔超4','男','1993-9-19','⾃动化11-1','z006');31 #修改操作32UPDATE student33SET sname ='张三',sbirth ='1993-6-19'34WHERE sname ='丁暖';3536UPDATE student SET zno =LEFT (zno, 3);37 #删除操作38delete from student39where sname='张三';4042 #查询操作43SELECT*FROM student;#查询student表的所有记录44SELECT sno,sname,ssex,sbirth FROM student;#查询部分字段信息45SELECT*FROM student WHERE age BETWEEN25AND30;4647 #清空表操作48truncate student;#⾼效49delete from student;操作SQL语法格式:插⼊:insert修改:update删除:delete查询:select⼆、设计型实验三1.创建表1CREATE DATABASE homework;23USE homework;45CREATE TABLE student (6 Num INT (10) NOT NULL UNIQUE PRIMARY KEY,7 name VARCHAR(20) NOT NULL,8 Sex VARCHAR(4) NOT NULL,9 birthday DATETIME,10 bumen VARCHAR(20) NOT NULL,11 address VARCHAR(50)12 ) DEFAULT charset = gb2312;1314CREATE TABLE score (15 Id INT(10) NOT NULL UNIQUE PRIMARY KEY,16 C_name VARCHAR(20),17 Stu_id INT(10) NOT NULL,18 grade INT(10),19CONSTRAINT score_fk FOREIGN KEY(Stu_id) REFERENCES student(Num)20 ) DEFAULT charset = gb2312;2122INSERT INTO student VALUES23 ('901','张军','男','1985-1-1','计算机系','北京市海淀区'),24 ('902','张超','男','1986-2-2','中⽂系','北京市昌平区'),25 ('903','张美','⼥','1990-2-1','中⽂系','湖南省永州市'),26 ('904','李五⼀','男','1990-2-3','英语系','辽宁省⾩新市'),27 ('905','王芳','⼥','1991-4-6','英语系','福建省厦门市'),28 ('906','王桂','男','1988-6-7','计算机系','湖南省衡阳市');2930INSERT INTO score VALUES31 (1001,'计算机','901','98'),32 (1002,'英语','901','80'),33 (1003,'计算机','902','65'),34 (1004,'中⽂','902','88'),35 (1005,'中⽂','903','95'),36 (1006,'计算机','904','70'),37 (1007,'英语','904','92'),38 (1008,'英语','905','92'),39 (1009,'计算机','906','90'),40 (1010,'英语','906','85');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=24WHERE Num=901;UPDATE student SET age=23WHERE Num=902;UPDATE student SET age=19WHERE Num=903;UPDATE student SET age=19WHERE Num=904;UPDATE student SET age=18WHERE Num=905;UPDATE student SET age=21WHERE Num=906;SELECT*FROM student WHERE age BETWEEN18AND22;SELECT*FROM student WHERE age>=18AND age<=22;#从student表中查询每个院系有多少⼈,为统计的⼈数列取别名sum_of_bumenSELECT 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<95AND 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数据库表的增删改

Mysql数据库表的增删改

数据库表的创建一、什么是数据表Create database cmsdemo; 创建一个数据库Use cmsdemo; 使用该数据库\s 查看数据库状态? t 可以查看创建表的语法二、创建数据表的SQL语句模型DDL 数据定义语句语法:CREATE TABLE [IF NOT EXISTS] 表名称(字段名1 列类型[属性] [索引]字段名2 列类型[属性] [索引]。

字段名n 列类型[属性] [索引]) [表类型] [表字符集];表名称和字段名需要我们自己定义名称IF NOT EXISTS :检查是否存在,如果不存在,则创建表名和字段名的定义:1、一定要有意义(英文,英文组合或多个单词的缩写)2、自己定的名称最好都是小写,SQL是不区分大小写的,但是每个表名都是一个文件名,在linux操作系统下是区分大小写的。

3、SQL语句尽可能都大写,这样好区分。

三、数据值和列类型细分都是按照空间大小来区分的1、数值型整型(整数):无符号就是不需要负数的时候TINYINT:非常小的整型1字节-128~127 0~255(无符号)SMALLINT:较小的整型2字节-32768~32767 0~65535(无符号)MEDIUMINT:中等大小的整型3字节0~16777215(无符号)INT:标准的整型4字节-2147483648~2147483647BIGINT:大整数型8字节2的64次方大浮点型(小数):FLOAT:4字节float(M,D)DOUBLE:8字节double(M,D)定点数(小数):decimal:M*2个字节decimal (M,D)2、字符型char 最大255字节属于固定长度字符串varchar 最大255字节属于可变长度字符串test 2的16次方减去1的长度用于保存文本数据(文章,数据等)MEDIUMTEXT 中型LONGTEXT 大型blob 二进制数据(多用来保存照片,电影,压缩包等) MEDIUMBLOB 中型LONGBLOB 大型enum 枚举类型占1或2个字节ENUM(“one”,”tow”,”three”) --------最多成员可以65535个一次只能用一个值,例如性别,星期,都可以用枚举set 集合类型占1,2,3,4,8个字节最多成员有64个一次可以用多个集合中的值,中间用“,”分开,例如兴趣等为多选项的,就可以用集合char(4) varchar(4)‘’4字节‘‘1字节‘ab‘4字节‘ab‘3字节‘abc‘4字节‘abc‘4字节‘abcdef‘4字节‘abcdef‘5字节char 保留空格varchar 不保留空格3、日期型DATE:YYYY-MM-DDTIME:hh:mm:ssDATETIME:YYYY-MM-DD hh:mm:ssTIMESTAMP(时间戳默认就是当前时间):YYYYMMDDhhmmssYEAR:YYYY4、NULL四、数据字段属性1、unsigned:无符号字段,可以让空间增加一倍,只能用在数值型字段2、zerofill:前导零字段,只能用在数据型字段,在数据位数不到定义的长度时,前面会用数字“0”来补齐,设置该字段时,会自动给该字段加入无符号字段属性3、AUTO_INCREMENT:自动增长字段,只能是数值型的整数型,数据每增加一条,就会自动增加1,且该字段不允许重复NULL、0、留空的情况下,也是会增1建议:每个表最好都有一个id字段,设置为自动增长mysql> create table t3(id int auto_increment, name char(20));ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a keymysql> create table t3(id int auto_increment primary key, name char(20)); Query OK, 0 rows affected (0.01 sec)在设置自动增长时,要设置该字段为主键(primary key),否则会报错。

实验三添加修改和删除

实验三添加修改和删除

任务一:
1.启动DBMS服务器,视情况决定是否附加实验用数据库。

2.利用对象资源管理器,对指定数据库中的表进行数据的添加、修改和删除。

尝试去做一些违反数据库定义中的约束的操作,分析反馈操作信息,并回答思考问题。

3.在查询编辑器中,利用INSERT、DELETE、UPDA TE语句在指定的数据库的相关表中进行如下数据的添加、修改和删除。

对操作中出现的问题进行分析,并加以解决。

在已经创建好的学生选课数据库中的各表中添加样例数据,并更新“学生—课程”数据库。

(1)向学生表S中插入一行数据。

(分析插入数据的学号与已有学号相同或不同时的反馈信息)。

学号相同时:
学号不同时:
(2)根据学生表和课程表生成一个“计算机”系学生的成绩临时表CGRADE,表中包括SN、CNO、GRADE三个属性。

(3)将王玲所学的高等数学成绩改为86.0.
(4)删除成绩低于所有课程平均成绩的选课元组。

(5)设置数据修改和删除的处理策略。

(要求选课表中有S04的选课信息)a.将学生表中学号为S04的学生学号修改为S28。

b.删除学生表中学号为S28的学生信息。

查看执行操作后表SC的变化情况或不能执行操作的反馈信息,并加以分析。

数据库增删改语句的使用实验报告

数据库增删改语句的使用实验报告

数据库增删改语句的使用实验报告一、实验目的:1.了解数据库的增、删、改操作的使用方法;2.掌握数据库增、删、改操作的语法;3.实践使用数据库增、删、改操作。

二、实验设备:1.计算机;2.数据库管理系统。

三、实验步骤:1.创建数据库:```sqlCREATE DATABASE test;```2.使用数据库:```sqlUSE test;```3.创建表:```sqlCREATE TABLE studentid INT NOT NULL AUTO_INCREMENT PRIMARY KEY,name VARCHAR(20) NOT NULL,age INT NOT NULL,gender VARCHAR(10) NOT NULL,score DECIMAL(5,2) NOT NULL```4.插入数据:```sqlINSERT INTO student(name, age, gender, score) VALUES ('张三', 18, '男', 90.5);INSERT INTO student(name, age, gender, score) VALUES ('李四', 19, '女', 85.5);```5.查询数据:```sqlSELECT * FROM student;```6.更新数据:```sqlUPDATE student SET score = 92.5 WHERE id = 1;```7.删除数据:```sqlDELETE FROM student WHERE id = 2;```四、实验结果:```id name age gender score1张三18男92.5```五、实验总结:通过本次实验,我学习了数据库的增、删、改操作的语法,并实践使用了这些操作。

这些操作是数据库管理中常用的操作,能够方便地对数据进行增、删、改操作,提高数据的管理效率。

Mysql数据库·增删改查

Mysql数据库·增删改查

MysqlOracle(甲骨文) 大型数据库MySql 中小型数据库DB2SqlServer.....Mysql的发展:瑞典的Mysql AB公司2008年Sun公司(JAVA)2009年Oracle 收购sun公司IBM 69亿美元sun Eclipse(日蚀)Oracle 74亿美元sunMysql的简单使用:1.登陆mysql数据库win+r --->cmdmysql -uroot -p1234修改密码:mysql> set password for rootlocalhost = password('1234');此处可能存在异常情况原因:a、未配置环境变量b、Mysql服务未开启(net start mysql)2.对库的操作a.查看所有的库show databases;系统自带库:information_schema mysql testb.创建库create database day01;(不指定编码,跟随数据库系统编码)create database db1default character set gbk;(指定编码)查看创建库的语句:show create database 库名.修改库的编码:alter database day01default character set utf8;c.删除库drop database 库名.drop database day01;注意:系统自带的三个库不能删除.d.使用库use db1;3.对表的操作表:二维关系表有行有列的关系表.记录:表中的一行数据.字段:表中的一列.常用的字段类型:字符串类型: varchar(长度) 、char数值类型: int(整数) float double(小数)日期类型: datea.创建表员工表:员工号性别年龄职位薪水入职日期create table emp(empno varchar(4),name varchar(30),sex varchar(5),age int(3),job varchar(30),salary int(5),hiredate date);b.查看所有的表show tables;c.查看建表语句show create table 表名.d.查看表结构desc 表名.e.往表中插入数据e1.给表中所有的字段插入数据insert into emp(empno,name,sex,age,job,salary,hiredate)values('1001','zhangsan','m',22,'developer',10000,'2015-12-21');简写形式:insert into emp values('1002','lisi','m',23,'test',8000,'2015-10-10');e2.给表中部分字段插入数据insert into emp(empno,name,sex,age) values('1003','cuihua','w',18);解决插入中文问题:(eclipse中的设置)Connection URL:jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=gbk 插入中文:insert into emp values('1005','莫小贝','女',12,'武林盟主',20000,'2015-12-12');f.删除数据delete from emp ;-->删除表中所有数据delete from emp where empno=1004;MyEclipse配置Mysql连接:1.切换到数据库界面.2.在DBBroswer中右键选择new3.配置连接:Driver Template: MySQL Connector/JDriver name: 随便起名字Connection URL: jdbc:mysql://localhost:3306/test本机:localhost127.0.0.l192.168.4.223User name:rootpassword:1234Driver JARs: mysql-connector-java-5.17-bin.jarMysql常见的错误1.Can't create database 'xxx'; database exists不能创建xxx库,因为已经存在2.Can't drop database 'xxx'; database doesn't exist不能删除xxx库,因为已经不存在-- 创建库create database search default character set gbk ;-- 使用库use search;-- 创建表-- 员工信息表create table emp(empno int(4), -- 员工编号ename varchar(30), -- 员工job varchar(30), -- 职位salary int , -- 工资bonus int, -- 奖金age int(3), -- 年龄sex varchar(1), -- 性别hiredate date, -- 入职日期manager int(4), -- 领导编号deptno int -- 部门编号);-- 部门表:create table dept(deptno int, -- 部门编号dname varchar(50),-- 部门名称loc varchar(80) -- 部门位置);-- 往emp表中插入数据null 空:没有不存在insert into emp(empno,ename,job,salary,bonus,age,sex,hiredate,manager,deptno) values(1001,'三丰','老板',20000,100,30,'m','2009-02-02',null,10);insert into emp values(1002,'无忌','程序猿',12000,200,20,'m','2010-03-02',1001,10); insert into emp values(1003,'小龙女','程序猿',10000,300,18,'f','2012-12-02',1001,10); insert into emp values(1004,'过','程序猿',10000,200,22,'m','2012-12-22',1003,10); insert into emp values(1005,'黄蓉','攻城师',15000,100,25,'f','2012-12-28',1001,20); insert into emp values(1006,'郭靖','攻城师',13000,100,28,'m','2013-12-02',1005,20); insert into emp values(1007,'莫愁','秘书',8000,50,22,'f','2013-03-02',1001,30);insert into emp values(1008,'韦小宝','实施',8500,null,29,'m','2013-04-02',1001,30); insert into emp values(1009,'陆无双','实施',6000,100,26,'m','2014-12-12',1001,30); insert into emp values(1010,'黄飞鸿','打手',5000,100,20,'m','2015-03-02',1001,null);-- 给dept表插入数据insert into dept values(10,'研发部','');insert into dept values(20,'运维部','');insert into dept values(30,'实施部','');-- 查询use search ;-- 1.查询emp表中的所有数据select * from emp ;-- * 通配符通配了emp表中的所有列。

mysql增删改查实例

mysql增删改查实例

MySQL增删改查实例1. 概述MySQL是一个开源的关系型数据库管理系统,被广泛应用于各种Web应用程序中。

本文将围绕MySQL的增删改查操作展开探讨,并通过实例演示具体操作步骤及语法。

2. 增加数据2.1 INSERT语句在MySQL中,可以使用INSERT语句向表中插入新的数据。

INSERT语句语法如下:INSERT INTO 表名 (列1, 列2, 列3, ...) VALUES (值1, 值2, 值3, ...);其中,表名代表要插入数据的目标表,列1、列2等代表要插入的列名,而值1、值2等代表要插入的具体值。

以下是一个示例:INSERT INTO students (name, age, grade) VALUES ('张三', 18, '高三');该示例将向名为students的表中插入一条记录,包含name、age和grade三个字段,并分别赋值’张三’、18和’高三’。

2.2 INSERT INTO SELECT语句除了手动指定要插入的值外,还可以使用INSERT INTO SELECT语句将一个表的数据插入另一个表中。

语法如下:INSERT INTO 目标表名 (列1, 列2, 列3, ...) SELECT 列1, 列2, 列3, ... FROM 源表名;以下是一个示例:INSERT INTO students_new (name, age, grade) SELECT name, age, grade FROM stude nts;该示例将从名为students的表中选择name、age和grade列,并将这些数据插入到名为students_new的表中。

3.1 DELETE语句DELETE语句用于从表中删除数据,语法如下:DELETE FROM 表名 WHERE 条件;其中,表名代表要操作的目标表,WHERE子句用于指定删除的条件。

以下是一个示例:DELETE FROM students WHERE age > 20;该示例将删除students表中age大于20的记录。

如何使用MySQL进行数据的增删改查

如何使用MySQL进行数据的增删改查

如何使用MySQL进行数据的增删改查引言在当今信息时代,数据变得异常重要。

对于一家企业或者个人来说,如何高效地管理和处理数据变得十分关键。

MySQL作为一种常用的关系型数据库管理系统,在数据存储和处理方面具有广泛的应用。

本文将探讨如何使用MySQL进行数据的增删改查,为读者提供了解和掌握这一技能的指导。

一、连接到MySQL数据库操作MySQL数据库之前,首先要连接到该数据库。

连接过程需要指定数据库的主机地址、用户名、密码等信息。

可以通过MySQL提供的命令行界面或者图形化界面工具进行连接。

在连接成功后,就可以进行后续的数据操作。

二、数据的增加在MySQL中,数据的增加主要通过INSERT语句来实现。

INSERT语句可以一次性插入一条或多条数据。

插入的数据需要指定表名和字段名,并提供相应的数值。

在插入数据时,需要保证插入的数据符合表定义的约束条件,例如主键的唯一性等。

三、数据的删除MySQL提供了DELETE语句用于删除数据。

DELETE语句可以通过WHERE子句来指定删除的条件。

当满足条件的数据被找到后,就会被删除。

如果不指定WHERE子句,则删除表中的所有数据。

在执行删除操作前,需要特别注意数据的备份和确认,以免误删重要数据。

四、数据的修改数据的修改在实际应用中非常常见。

在MySQL中,通过UPDATE语句来实现数据的修改操作。

UPDATE语句需要指定表名、需要修改的字段名和新的数值,同时也需要指定修改的条件。

通过WHERE子句来指定需要修改的数据行,一旦满足条件的数据被找到,就会被更新。

五、数据的查询数据的查询是数据库应用中最重要的功能之一。

在MySQL中,可以通过SELECT语句来进行查询操作。

通过指定表名、字段名和查询条件,可以获取到所需的数据。

同时,还可以使用聚合函数、排序、分组等方式对查询结果进行进一步的处理和筛选。

六、数据的优化随着数据规模的增大,数据库的性能问题变得日益突出。

为了提高数据库的查询速度和响应效率,需要进行数据的优化工作。

如何在MySQL中进行数据更新和删除操作

如何在MySQL中进行数据更新和删除操作

如何在MySQL中进行数据更新和删除操作MySQL是一种常用的关系型数据库管理系统,广泛应用于各种类型的应用程序中。

在实际开发中,数据的更新和删除操作是非常常见的需求。

本文将介绍如何在MySQL中进行数据更新和删除操作。

一、数据更新操作数据更新操作是指修改数据库中已有记录的内容。

在MySQL中,可以使用UPDATE语句来实现数据更新操作。

UPDATE语句的基本语法如下:```UPDATE table_nameSET column1 = value1, column2 = value2, ...WHERE condition;```- table_name:要更新数据的表名。

- SET:设置要更新的字段及其对应的值。

- column1, column2:要更新的字段名。

- value1, value2:要更新的字段对应的新值。

- WHERE:可选项,用来筛选要更新的记录。

如果不写WHERE条件,则会更新表中所有记录。

例如,我们有一个名为students的表,其中包含以下字段:id(学生ID)、name(学生姓名)、age(学生年龄)。

要将ID为1的学生的姓名修改为"张三",年龄修改为18岁,可以执行以下语句:```UPDATE studentsSET name = '张三', age = 18WHERE id = 1;```该语句会将ID为1的学生的姓名修改为"张三",年龄修改为18岁。

除了直接指定更新字段的新值外,MySQL还支持使用表达式来进行更新操作。

例如,我们可以将学生的年龄加1,可以执行以下语句:```UPDATE studentsSET age = age + 1;```该语句会将表中所有学生的年龄加1。

二、数据删除操作数据删除操作是指从数据库中删除指定的记录。

在MySQL中,可以使用DELETE语句来实现数据删除操作。

DELETE语句的基本语法如下:```DELETE FROM table_nameWHERE condition;```- table_name:要删除数据的表名。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验训练3 数据增删改操作
实验目的:
基于实验1创建的汽车用品网上商城数据库Shopping,练习Insert、Delete、TRUNCATE TABLE、Update语句的操作方法,理解单记录插入与批量插入、DELETE与TRUNCATE TABLE语句、单表修改与多表修改的区别。

实验内容:
【实验3-1】插入数据
(1)使用单记录插入Insert语句分别完成汽车配件表Autoparts、商品类别表category、用户表Client 、用户类别表Clientkind 、购物车表shoppingcart、订单表Order、订单明细表order_has_Autoparts、评论Comment的数据插入,数据值自定;并通过select语句检查插入前后的记录情况。

INSERT INTO 目标表 SELECT * FROM 来源表;
insert into insertTest select * from insertTest2;
INSERT INTO 目标表 (字段1, 字段2, ...) SELECT 字段1, 字段2, ... FROM 来源表;(这里的话字段必须保持一致)
insert into insertTest2(id) select id from insertTest2;
INSERT INTO 目标表
(字段1, 字段2, ...)
SELECT 字段1, 字段2, ...
FROM 来源表
WHERE not exists (select * from 目标表
where 目标表.比较字段 = 来源表.比较字段);
1>.插入多条记录:
insert into insertTest2
(id,name)
select id,name
from insertTest
where not exists (select * from insertTest2
where insertTest2.id=insertTest.id);
2>.插入一条记录:
insert into insertTest
(id, name)
SELECT 100, 'liudehua'
FROM dual
WHERE not exists (select * from insertTest
where insertTest.id = 100);
(2)使用带Select的Insert语句完成汽车配件表Autoparts中数据的批量追加;并通过select语句检查插入前后的记录情况。

create TABLE Table1
(
a varchar(10),
b varchar(10),
c varchar(10),
CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED
(
a ASC
)
) ON [PRIMARY]
create TABLE Table2
(
a varchar(10),
c varchar(10),
d int,
CONSTRAINT [PK_Table2] PRIMARY KEY CLUSTERED
(
a ASC
)
) ON [PRIMARY]
GO
【实验3-2】删除数据
(1)使用Delete语句分别完成购物车表shoppingcart、订单表Order、订单明细表Order_has_Autoparts、评论Comment的数据删除,删除条件自定;并通过select语句检查删除前后的记录情况。

-- 删除数据
delete from meta_order_items
where meta_order_items_id in(
select b.meta_order_items_id from ( -- 主意:同一张表要外包这一层视图
select meta_order_items_id from meta_order_ite
where state='create'
and CREATED_STAMP <'2015-11-19'
(2)使用TRUNCATE TABLE语句分别完成购物车表shoppingcart、评论Comment的数据删除。

【实验3-3】修改数据
使用Update分别完成汽车配件表Autoparts、商品类别表category、用户表Client、用户类别表Clientkind、购物车表shoppingcart、订单表Order、订单明细表
Order_has_Autoparts、评论Comment的数据修改,修改后数据值自定,修改条件自定;并通过select语句检查修改前后的记录情况。

UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col_name1=expr1 [,
col_name2=expr2 ...] [WHERE where_definition] [ORDER BY ...] [LIMIT row_count];
实验要求:
1.所有操作必须通过MySQL Workbench完成;
2.每执行一种插入、删除或修改语句后,均要求通过MySQL Workbench查看执行结果及表中数据的变化情况;
3.将操作过程以屏幕抓图的方式拷贝,形成实验文档。

相关文档
最新文档