MySQL数据库应用-实验训练3 数据增删改操作.docx
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数据库表的增删改

数据库表的创建一、什么是数据表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数据库·增删改查

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增删改查实例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中,数据的增加主要通过INSERT语句来实现。
INSERT语句可以一次性插入一条或多条数据。
插入的数据需要指定表名和字段名,并提供相应的数值。
在插入数据时,需要保证插入的数据符合表定义的约束条件,例如主键的唯一性等。
三、数据的删除MySQL提供了DELETE语句用于删除数据。
DELETE语句可以通过WHERE子句来指定删除的条件。
当满足条件的数据被找到后,就会被删除。
如果不指定WHERE子句,则删除表中的所有数据。
在执行删除操作前,需要特别注意数据的备份和确认,以免误删重要数据。
四、数据的修改数据的修改在实际应用中非常常见。
在MySQL中,通过UPDATE语句来实现数据的修改操作。
UPDATE语句需要指定表名、需要修改的字段名和新的数值,同时也需要指定修改的条件。
通过WHERE子句来指定需要修改的数据行,一旦满足条件的数据被找到,就会被更新。
五、数据的查询数据的查询是数据库应用中最重要的功能之一。
在MySQL中,可以通过SELECT语句来进行查询操作。
通过指定表名、字段名和查询条件,可以获取到所需的数据。
同时,还可以使用聚合函数、排序、分组等方式对查询结果进行进一步的处理和筛选。
六、数据的优化随着数据规模的增大,数据库的性能问题变得日益突出。
为了提高数据库的查询速度和响应效率,需要进行数据的优化工作。
如何在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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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.将操作过程以屏幕抓图的方式拷贝,形成实验文档。