当前位置: 首页 > news >正文

郑州建设网站定制最佳磁力吧ciliba搜索引擎

郑州建设网站定制,最佳磁力吧ciliba搜索引擎,今日新闻最新头条10条内容,建设一个连接的网站一丶数据库名称:SchoolDB 二丶数据库表信息:角色信息表 表名: t_role 主键: r_id 序号 字段名称 字段说明 类别 位数 属性 备注 1 r_id 角色编号 int 主键 自动增长 2 r_name_EN 角色名(英…

一丶数据库名称:SchoolDB

二丶数据库表信息:角色信息表

表名:

t_role  

主键:

r_id

序号

字段名称

字段说明

类别

位数

属性

备注

1

r_id

角色编号

int

 

 

主键 自动增长

2

r_name_EN

角色名(英文)

varchar

20

非空

不能重复

3

r_name_CH

角色名(中文)

varchar

20

非空

不能重复

4

r_remark

说明简介

nvarchar

500

非空

默认为“男”

 

 

 

 

 

 

 

 

 

数据库表信息:班级信息表

表名:

t_class

主键:

c_id

序号

字段名称

字段说明

类别

位数

属性

备注

1

c_id

班级编号

int

 

 

主键 自动增长

2

c_classname

班级名

varchar

20

非空

不能重复

 

 

 

 

 

 

数据库表信息:用户信息表

表名:

t_user

主键:

u_id

序号

字段名称

字段说明

类别

位数

属性

备注

1

u_id

用户编号

int

 

 

主键 自动增长

2

u_username

用户登陆名

varchar

20

非空

不能重复

3

u_password

用户登陆密码

varchar

20

非空

 

4

u_name

用户名

varchar

20

非空

 

5

u_sex

性别

char

2

非空

默认为“男”  只能是男或女

6

u_age

年龄

int

 

非空

年龄只能0~100区间

7

u_phoneNum

电话号码

varchar

20

非空

长度必须是11位

8

u_address

家庭住址

varchar

50

 

 

9

u_type

状态

是否禁用

int

 

非空

只能是0或1

1 正常 

0 禁用

10

r_id

角色

int

 

非空

外键

11

c_id

班级

int

 

非空

外键

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

三丶实现步骤

1、向角色信息表、班级信息表、用户信息表添加对数据 分别使用单行或多行插入数据的方式完成。并使用全查询分别查询出三张表的数据。

如下图1~ 图3所示:

44547f499c964d04a01b69dacc2d040d.png

图1

 

f156da5414d14cfcbb2d03aa13efeb3a.png

图2

 

1212a554a0674f7fae7131ad65fdc2ae.png

图3

要求:

角色信息表使用单行数据插入的方式完成对数据的插入

班级信息表用户信息表使用多行插入的方式完成对数据的插入

2、查询用户信息表 如下图4所示:

6d0a0dc555b841e8896873eb7307f370.png

图4

要求:

       给字段起别名,显示用户信息表

3、按照下列需求完成所有条件查询:

7c0369fcb8f444bcb28c95d912adf8c9.png

6a4becc25b56489fa0b0b3e137843b2e.png

e4471a77b5d74bc28be271784d866a79.png

a95aa918f02c4e3cad06803bb7034eb1.png

-- 一,	创建数据库SchoolDB
-- 1,删除数据库DROP DATABASE IF EXISTS SchoolDB;
-- 2,创建数据库CREATE DATABASE SchoolDB;
-- 3,修改数据库编码方式和字符集排列顺序ALTER DATABASE SchoolDB CHARACTER SET utf8 COLLATE utf8_bin;
-- 4,使用数据库USE SchoolDB;
-- 二,	在数据库SchoolDB中创建3张表
-- 1,	角色信息表(t_role)
DROP TABLE IF EXISTS t_role;
CREATE TABLE t_role(
r_id INT PRIMARY KEY AUTO_INCREMENT,   -- 角色编号
r_name_EN VARCHAR(20) NOT NULL UNIQUE,  -- 角色名(英文)
r_name_CH VARCHAR(20) NOT NULL UNIQUE,  -- 角色名(中文)
r_remark NVARCHAR(500) NOT NULL DEFAULT '男'  -- 说明简介
);
-- 2,	班级信息表(t_class)
DROP TABLE IF EXISTS t_class;
CREATE TABLE t_class(
c_id INT PRIMARY KEY AUTO_INCREMENT,     -- 班级编号
c_classname VARCHAR(20) NOT NULL UNIQUE  -- 班级名
);
-- 3,	用户信息表(t_user)
DROP TABLE IF EXISTS t_user;
CREATE TABLE t_user(
u_id INT PRIMARY KEY AUTO_INCREMENT,   -- 用户编号
u_username VARCHAR(20) NOT NULL UNIQUE,  -- 用户登陆名
u_password VARCHAR(20) NOT NULL,          -- 用户登陆密码
u_name VARCHAR(20) NOT NULL,              -- 用户名
u_sex CHAR(2) NOT NULL DEFAULT '男',     -- 性别
u_age INT NOT NULL,                      -- 年龄
u_phoneNum VARCHAR(11) NOT NULL,         -- 电话号码
u_address VARCHAR(50),                   -- 家庭住址
u_type INT NOT NULL DEFAULT 1,           -- 状态是否禁用
r_id INT NOT NULL,                       -- 角色,外键
c_id INT,                       -- 班级,外键
FOREIGN KEY (r_id) REFERENCES t_role(r_id),
FOREIGN KEY (c_id) REFERENCES t_class(c_id)
);
-- 三添加数据
-- 1,添加角色信息表(t_role)数据		
INSERT INTO t_role VALUES(DEFAULT,'boss','超级管理员','可以管理所有数据操作');
INSERT INTO t_role VALUES(DEFAULT,'admin','管理员','可以管理大部分数据操作');
INSERT INTO t_role VALUES(DEFAULT,'stu','学生','说明');
INSERT INTO t_role VALUES(DEFAULT,'teacher','老师','说明');
SELECT * FROM t_role;
-- 2,添加班级信息表(t_class)数据
INSERT INTO t_class VALUES(DEFAULT,'物联网201401班');
INSERT INTO t_class VALUES(DEFAULT,'物联网201402班');
INSERT INTO t_class VALUES(DEFAULT,'物联网201403班');
INSERT INTO t_class VALUES(DEFAULT,'物联网201404班');
INSERT INTO t_class VALUES(DEFAULT,'物联网201405班');
SELECT * FROM  t_class;
-- 3,添加用户信息表(t_user)数据
INSERT INTO t_user VALUES(1001,'abc','abc','abc','男',70,110,'武汉湖北科职',1,1,NULL);
INSERT INTO t_user VALUES(1002,'admin','admin','admin','男',0,120,'武汉湖北科职',1,2,NULL);
INSERT INTO t_user VALUES(1003,'huangba','huang66ba','黄八','男',20,15122535477,'北京东城',0,3,3);
INSERT INTO t_user VALUES(1004,'jack','jklove','杰克','男',19,15011982675,'湖南长沙',1,3,4);
INSERT INTO t_user VALUES(1005,'lisi',123456,'李四','男',20,15002726555,'湖北武汉',1,3,1);
INSERT INTO t_user VALUES(1006,'tom','tomandjack','汤姆','女',20,13002766545,'湖南韶山',1,3,5);
INSERT INTO t_user VALUES(1007,'wangwu','wangwu520','王五','男',34,13645267654,'湖北黄冈',1,4,NULL);
INSERT INTO t_user VALUES(1008,'yanqi','yanyan112','燕七','女',28,13288625642,'北京海淀',1,4,NULL);
INSERT INTO t_user VALUES(1009,'zhangsan',123,'张三','女',19,13017656783,'湖北武汉',1,3,2);
INSERT INTO t_user VALUES(10010,'zhaoliu','01234567...','赵六','女',54,15524786722,'湖北黄冈',0,4,1);
SELECT * FROM  t_user;
-- 查询用户信息表 如下图4所示: 要求:给字段起别名,显示用户信息表
SELECT u_id AS '用户编号', u_username AS '用户名',u_name AS '姓名', u_sex AS '性别', u_age AS '年龄', u_phoneNum AS '电话', u_address AS '地址', CASE u_type WHEN 0 THEN '禁用' ELSE '正常' END AS '状态', b.r_name_CH AS '角色名称',c.c_classname AS '班级名称'
FROM t_user a
INNER JOIN t_role b ON a.r_id = b.r_id
LEFT JOIN t_class c ON a.c_id = c.c_id;
-- 四,完成如下查询题目
-- 3、按照下列需求完成所有条件查询:
-- -------- 1,过滤重复记录(distinct) -------------- 
-- 过滤用户表重复的地址
SELECT DISTINCT u_address 家庭住址 FROM t_user;
-- 过滤用户表重复的年龄
SELECT DISTINCT u_age 年龄 FROM t_user
-- --- 2,显示若干条(top)---------------
-- 显示班级表前3条记录
SELECT * FROM t_class LIMIT 3;
-- 显示用户表前5条记录
SELECT * FROM t_user LIMIT 5;
-- --- 3,简单条件查询(where)---------------
-- 显示用户表所有"男"性的信息
SELECT * FROM t_user WHERE u_sex = '男';
-- 显示用户表中是 学生的信息
SELECT * FROM t_user WHERE u_type = 1;
-- 显示用户表中年龄在24到60岁之间的人的信息(提示:between and)
SELECT * FROM t_user WHERE u_age BETWEEN 24 AND 60;
-- 显示用户表中年龄不在24到60岁之间的人的信息
SELECT * FROM t_user WHERE u_age NOT BETWEEN 24 AND 60;
-- 显示角色表中 角色名(中文)为"管理员’、"学生"、"老师"的信息
SELECT * FROM t_role WHERE r_name_CH IN ('管理员', '学生', '老师');
-- 显示角色表中 角色名(中文)为"超级管理员"的信息
SELECT * FROM t_role WHERE r_name_CH = '超级管理员';
-- 显示用户表 班级为空的信息
SELECT * FROM t_user WHERE c_id IS NULL;
-- 显示用户表 班级不为空的信息
SELECT * FROM t_user WHERE c_id IS NOT NULL;
-- 4,模糊杳询(like /not like)
-- 查询用户表 电话号码是以15开头的所有人信息
SELECT * FROM t_user WHERE u_phoneNum LIKE '15%';
-- 查询用户表 地址是湖北或湖南的所有人信息
SELECT * FROM t_user WHERE u_address LIKE '%湖北%' OR u_address LIKE '%湖南%';
-- 查询用户表 地址除湖北或湖南之外的所有人信息
SELECT * FROM t_user WHERE u_address NOT LIKE '%湖北%' AND u_address NOT LIKE '%湖南%';
-- -----5,杳询排序(order by)
-- 对用户表 用户年龄升序排序
SELECT * FROM t_user ORDER BY u_age ASC;
-- 对用户表 用户年龄降序排序
SELECT * FROM t_user ORDER BY u_age DESC;
-- -----6,对查询结果进行计算(求和sum 求平均数avg统计行数count)---------------
-- 求用户表用户年龄的总和
SELECT SUM(u_age) 年龄的总和 FROM t_user;
-- 求用户表 用户年龄的平均数
SELECT AVG(u_age) 年龄的平均数 FROM t_user;
-- 求用户表 有多少个用户
SELECT COUNT(*) 用户人数 FROM t_user;
-- 求用户表 有多少个老师
SELECT COUNT(*) 老师人数 FROM t_user WHERE r_id=4;
-- ---7,分组(group by/having)	------	
-- 求各个角色的人数
SELECT r_name_CH 角色名(中文),COUNT(*) 人数 FROM t_user INNER JOIN t_role ON t_user.r_id = t_role.r_id GROUP BY t_role.r_id;
-- 求各个角色中 所有人总年龄超过100的角色有哪些
SELECT r_name_CH 角色名(中文) FROM t_role WHERE r_id IN (SELECT DISTINCT r_id FROM t_user GROUP BY r_id HAVING SUM(u_age) > 100);
-- 4、按照下列需求完成所有链接查询:
-- ---8,联接查询----
-- (1)内连接(inner join)
-- 查询所有用户信息显示用户信息及对应的角色名(中文)
SELECT t_user.*,r_name_CH 角色名(中文) FROM t_user INNER JOIN t_role ON t_user.r_id = t_role.r_id;
-- 查询所有用户信息显示用户信息及对应的班级名称
SELECT t_user.*,c_classname 班级名称 FROM t_user INNER JOIN t_class ON t_user.c_id = t_class.c_id;
-- 查询所有用户信息显示用户信息及对应的角色名(中文)和班级名称
SELECT t_user.*,r_name_CH '角色名(中文)',c_classname 班级名称
FROM t_user
INNER JOIN t_role ON t_user.r_id = t_role.r_id
INNER JOIN t_class ON t_user.c_id = t_class.c_id;
-- 查询所有"男,用户并且年龄在10到24的信息显示用户信息及对应的角色名(中文)和班级名称
SELECT t_user.*,r_name_CH '角色名(中文)',c_classname 班级名称
FROM t_user
INNER JOIN t_role ON t_user.r_id = t_role.r_id
INNER JOIN t_class ON t_user.c_id = t_class.c_id
WHERE u_sex= '男' AND u_age BETWEEN 10 AND 24;
-- (2)内联接的where写法
-- 查询所有"男’用户并且年龄在10到24的信息显示用户信息及对应的角色名(中文)和班级名称
SELECT t_user.*,r_name_CH '角色名(中文)',c_classname 班级名称
FROM t_user
INNER JOIN t_role ON t_user.r_id = t_role.r_id
INNER JOIN t_class ON t_user.c_id = t_class.c_id
WHERE u_sex= '男' AND u_age BETWEEN 10 AND 24;
-- (3)外联接(left/right [outer] join)
-- 查询所有用户信息显示用户信息及对应的角色名(中文)和班级名称,以主表为主
SELECT t_user.*,r_name_CH '角色名(中文)',c_classname 班级名称
FROM t_user 
LEFT JOIN t_role ON t_user.r_id = t_role.r_id 
LEFT JOIN t_class ON t_user.c_id = t_class.c_id;
-- 查询所有用户信息显示用户信息及对应的角色名(中文)和班级名称,以副表为主
SELECT t_user.*,r_name_CH,c_classname
FROM t_role 
RIGHT JOIN t_user ON t_user.r_id = t_role.r_id 
LEFT JOIN t_class ON t_user.c_id = t_class.c_id;

 

http://www.hrbkazy.com/news/12303.html

相关文章:

  • 网站开发过程中的方法常州百度搜索优化
  • 网站建设毕业设计选题今日重大国际新闻军事
  • 推广网站软文网络营销产品的首选产品
  • 做网站英语老师的简历百度竞价官网
  • 网站分析怎么做保定百度推广联系电话
  • 廊坊网站制作如何在百度提交自己的网站
  • 上海传媒公司介绍百度seo关键词优化推荐
  • 北京建网站的公司网络营销带来的效果
  • 建设投注网站怎么交换友情链接
  • 企业宣传手册封面模板seo怎么优化排名
  • 征婚交友网站系统模板那个好技能培训机构排名前十
  • 企业网站建设存在的问题直通车优化推广
  • 网站文字不能复制怎么做加盟教育培训哪个好
  • 低价网站建设方案seo专员工资待遇
  • 模板建站什么意思买卖平台
  • 武汉教育网站建设优化域名怎么查
  • 外贸企业网站建设公司价格1688官网
  • 赣州网站建设-赣州做网站地推项目发布平台
  • 婚纱摄影网站设计理念深圳网站关键词优化推广
  • 百度能做网站建设吗seo高效优化
  • 网站项目报价绍兴seo管理
  • 杭州有哪些做网站的公司最近最新的新闻
  • 怎么自己做卡盟网站友点企业网站管理系统
  • 写作网站制作中国免费网站服务器主机域名
  • web前端做网站项目赚钱国外独立网站如何建站
  • 那些网站招聘在家里做的客服大冶seo网站优化排名推荐
  • 建立自己网站免费seo公司后付费
  • 平面设计师长逛的网站有哪些一键优化下载
  • 哪个网站做美食自媒体更好aso优化{ }贴吧
  • 延安网站建设电话咨询唐山网站建设方案优化