1 有如下两个表,货品名称表和货品库存表
hpmcb (
Hpid` INT(11) NOT NULL COMMENT '货品id',
hpmc VARCHAR(50) DEFAULT NULL COMMENT '货品名称',
jldw` VARCHAR(10) DEFAULT NULL COMMENT '计量单位',
hptm VARCHAR(20) DEFAULT NULL COMMENT '货品条码',
lsj` DECIMAL(9,2) DEFAULT NULL COMMENT '零售价',
hpzt` TINYINT(4) COMMENT '货品状态(0 正常, 1 暂停进货, 2 不再进货')
);
hpkcb (
kcid INT(11) ' NOT NULL AUTO_INCREMENT COMMENT '库存id',
hpid` INT(11) DEFAULT NULL COMMENT '货品id',
kcslis DECIMAL(18,3) DEFAULT '0.000' COMMENT '库存数量',
PRIMARY KEY (`kcid`));
要求:1.创建hpmcb表,并设置Hpid自增1且为为主键,hpzt的默认值为0;
2.创建hpkcb表,并设置kcid自增1且为为主键,kcsl的默认值为0;
3.创建视图V_hpkcb包含这些字段hid,hpmc,jldw,kcsl;
4 在hpmcb上创建一个after触发器,当在hpmcb中插入记录时,利用该触发器在hpkcb中插入对应的库存记录
5将数据库备份为MyPOS.sql并上传
CREATE TABLE hpmcb(
Hpid INT (11) NOT NULL COMMENT'货品id' AUTO_INCREMENT,
hpmc VARCHAR(50) DEFAULT NULL COMMENT '货品名称',
jldw VARCHAR(10) DEFAULT NULL COMMENT '计量单位',
hptm VARCHAR(20) DEFAULT NULL COMMENT '货品条码',
lsj VARCHAR(50) DEFAULT NULL COMMENT '零售价',
hpzt TINYINT(4) DEFAULT 0 COMMENT '货品状态(0 正常,1 暂停进货,2 不再进货,)',
PRIMARY KEY (Hpid)
)
CREATE TABLE hpkcb(
kcid INT(11) NOT NULL AUTO_INCREMENT COMMENT '库存id',
hpid INT(11) DEFAULT NULL COMMENT '货品id',
kscl DECIMAL(18,3) DEFAULT '0.000' COMMENT '库存数量',
PRIMARY KEY (kcid)
)
CREATE VIEW V_hpkcb AS SELECT hpmcb.Hpid,hpmc,jldw,kscl FROM hpmcb,hpkcb
INSERT INTO hpmcb(hpmc,jldw,hptm,lsj) VALUE('可乐','元','123','3')
DELIMITER $$
USE `mypos`$$
DROP TRIGGER
CREATE
TRIGGER `after` AFTER INSERT ON `hpmcb`
FOR EACH ROW
BEGIN
INSERT INTO hpkcb(hpid) VALUE (new.hpid);
END;
$$
DELIMITER ;
1
分别写出启动、连接、停止和卸载MySql服务(服务名为MySql)的语句?
net start mysql
mysql -u root -p
net stop mysql
mysql -remove
2
请用 create index 语句在数据库 db_test 的表 content 中,根据留言标题列的前三个
字符采用默认的索引类型创建一个升序索引 index_subject。
mysql>USE db_test ; Database changed mysq|>CREATE INDEX index_subject 一> ON content(subject(3)ASC);
3
请用 create index 语句在数据库 db_test 的表 content 中,根据留言标题列的前三个
字符采用默认的索引类型创建一个升序索引 index_subject。
mysql>USE db_test ; Database changed mysq|>CREATE INDEX index_subject 一> ON content(subject(3)ASC);
4
请使用 select into...outfile 语句,备份数据库 db_test 中表 content 的全部数据
到 c 盘的 backup 目录下一个名为 backupcontent.txt 的文件中。
select * from db_test.content into outfile 'c:\backup\backupcontent.txt'
5
现有一个 student 表,表结构如下所示:
| field | type | null | key | default | extra |
| id | int(4) | yes | | null | |
| name | varchar(20) | no | | null | |
| grade | float | yes | | null | |
请按照如下要求编写 sql 语句。
1)根据 student 表结构编写建表语句
2)使用 insert 语句向 student 表中插入一条数据,其中 id 字段的值为 5,name 字段
的值为‘lily’,grade 字段的值为 100。
CREATE TABLE student( id INT(4), name VARCHAR(20) NOT NULL, grade FLOAT );
insert into student values(5,'lily',100);
6
现有一张表 score 记录所有学生数学和英语的成绩,表中字段有学号,姓名,学科,
分数。要求如下:
1) 查询姓名为张三的学生成绩
2) 查询英语成绩大于 90 分的同学
3) 查询总分大于 180 分的所有同学的学号
SELECT * FROM score WHERE 姓名=’张三’;
SELECT * FROM score WHERE 学科=’英语’ AND 分数>90;
SELECT 学号 FROM score GROUP BY 学号HAVING SUM(分数)>180;
7
已知数据库中有一张会员表,表中有字段会员编号、姓名、性别、入会时间,请查询出表中除了会员“小七”的所有会员的信息
Select * from 会员 where 姓名!=’小七’;
8
使用MYSQL代码实现以下内容
1) 创建 student 数据库
数据库里建立数据表 student_web
要求包含以下字段:
s_id 数据类型为整型,非空约束,
s_name 数据类型为可变字符型,最大长度 12 个字符,保存学生姓名
s_fenshu 数据类型为整型,保存学生考试成绩
s_hometown 数据类型为可变字符型,最大长度 50 个字符,保存学生籍贯
s_tuition 数据类型为整型,保存学生学费
2) 写代码向上题所创建好的数据表中添加以下三条记录,
id : 1 id : 2 id : 3
姓名: Jack Tomas 姓名: Tom Joe 姓名: Smiths
成绩: 89 成绩: 88 成绩: 87
籍贯: 郑州金水 籍贯: 洛阳涧西 籍贯: 郑州中原
学费: 2800 学费: 3000 学费: 2700
3) 写代码返回所有学生的信息。
4) 写代码返回所有姓名带 J 字母的学生信息。
5) 写代码返回所有郑州籍贯的学生信息。
6) 写代码返回所有学费低于平均学费的学生信息。提示使用嵌套的 select 查询。
create database student
use student
create table student_web ( s_id int not null, s_name varchar(12), s_fenshu int, s_hometown varchar(50), s_tuition int )
insert into student_web (s_id,s_name,s_fenshu,s_hometown,s_tuition) values(1,’Jacktomas’,89,’郑州金水’,2800) insert into student_web (s_id,s_name,s_fenshu,s_hometown,s_tuition) values(2,’TomJoe’,88,’洛阳涧西’,3000) insert into student_web (s_id,s_name,s_fenshu,s_hometown,s_tuition) values(3,’Smiths’,87,’郑州中原’,2700)
select * from student_web
select * from student_web where s_name like ’%J%’
select * from student_web where s_hometown=’北京%’
SELECT *FROM student_web WHERE s_tuition<(SELECT AVG(s_tuition) FROM student_web);
9
已知有一张 user 表,表中有字段 id,name,请按照以下要求编写 SQL 语句
1)删除 user表中 id 为 NULL 的数据
2)将 user 表中 name 为 NULL 的 name 值都改为“匿名”
delete from user where id is null;
update user set name=' 匿名' where name is null;
10
已知数据库中有一张 student 表,表中有字段 id、name、class,请查询出表中 class等于 3 的所有信息
Select * from student where class=3
11
已知有一张 sales 表,表中有上半年的销量 first_half 和下半年的销量
latter_half。请在 sales 表上创建一个视图,查询出一年的销量
CREATE VIEW view_sales AS SELECT first_half+ latter_half FROM sales;
12
请查询出 send 表中日期(sendtime 字段)为当天的所有记录的 sql 语句,其中字段
sendtime 为 datetime 型。
SELECT * FROM send WHERE DATEDIFF(DD, sendtime,GETDATE())=0
13
请按照以下要求设计 sql 语句。 假定
student 表中有: id,name,grade,gender 四个字
段 要求如下:查询 name 字段值以字符“h”开始 或者 gender 字段值为“女” 或者 grade
字段值为 100 的记录。上面三个条件只要一个条件成立就符合要求,写出一个 sql 语句实
现上述需求。
SELECT id,name,grade,gender FROM student WHERE name LIKE 'h%' OR gender=' 女 ' OR grade=100;
14
有部门表dept和员工表employee,根据如下条件
select * from dept where did=(select did from employee where aze›21);
select pl. * from employee p1 join enployee p2 on p1 did=p2.did where P2.name=‘王红’;