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

站酷网电脑版seo优化技术是什么

站酷网电脑版,seo优化技术是什么,网站开发明细报价表,wordpress 本地服务器搭建xampp目录 一、mysql之DML 增加语句 删除语句和truncate 更新语句 replace语句 select查询语句 二、select多种用法 查询时的别名使用 分组 分组后的筛选 结果排序 分页功能 分表 多表关联查询 练习题 一、单表查询 二、多表查询 前面已经学习了mysql的安装和基本语…

目录

一、mysql之DML

增加语句

删除语句和truncate

更新语句

replace语句

select查询语句

二、select多种用法

查询时的别名使用

分组

分组后的筛选

结果排序

分页功能

分表

多表关联查询

练习题

一、单表查询

二、多表查询


前面已经学习了mysql的安装和基本语法,接下来我们继续学习其他的mysql基本语法是如何使用的

一、mysql之DML

增加语句

#语法
insert INTO table_name[(field1 [, field2 ……]) values(value1 [, vaule2 ……])  [,()]];
-- 插入多条数据 --
insert into t_user(id passwd) values(1,"123"),(2,"234"),(3,"345")

示例:

删除语句和truncate

删除语言,请注意删除的条件!!!如果不带条件,则删除全表。

delete from table_name [where 条件];
truncate table table_name;

示例:

-- 如果没有条件,则清空全数据包【慎重!!】
delete from user;

-- truncate清空全表【注意:truncate删除数据是不经过数据字典】
truncate table students;

更新语句

更新就是修改表中的数据

#语法结构
update table_name set 字段1=新值 [, 字段2=新值, 字段3=字段3 + 1]   [where 条件];

示例:

#其他示例
update user_1 set age=20,password="root" where id=2;
update user_1 set age=age+1;

replace语句

该语句是集更新和插入为一体的语句;

如果表中没有这条数据,则执行插入,否则执行更新;

⚠️注意:replace的更新,本质是先删除,再插入

replace into user_1 (id,name) values(10,"test");

select查询语句

在开发中,查询语句是使用最多,也是CRUD中,复杂度最高的sql语句

#查询语法结构
select *|字段1 [, 字段2 ……] from 表名称 [, 表名称2……] [where 条件] [group by 字段 [having 分组后的筛选]] [order by 字段 [desc|asc] [字段2 [desc|asc] ……]] [limit 分页]-- 查询所有数据
select * from user_1;-- 查询需要的字段信息
select id,name,password from user_1;-- 查询一个字段,一个等值条件
select name from user_1 where id=1;#等值查询select password from user_1 where name="李四";

 select语句中的特殊情况:

对数值型数据列、变量、常量可以使用算数操作符创建表达式(+ - * /)

对日期型数据列、变量、常量可以使用部分算数操作符创建表达式(+ -)

运算符不仅可以在列和常量之间进行运算,也可以在多列之间进行运算。

SELECT last_name, salary, salary*12 FROM employees;

二、select多种用法

查询时的别名使用

select count(*) from test
select count(*) as 总人数 from test

分组

group by 字段

select gender from test group by gender;
select gender, count(gender) from test group by gender;

分组后的筛选

select gender,count(gender) from test group by gender having count(gender) > 5

结果排序

将查询结果,以特定的顺序展示(升序或者降序)

# 语法结构
order by 字段 
order by 字段 asc|desc;
order by 字段 asc|desc, 字段2 ;

分页功能

select语句,查询数据时,可能结果会非常多,此时就不能直接展示,分页展示。

总数量(all_data):查询 select count(*)

每页展示的数量(page_size):程序员定

当前页(cur_page):默认第一页,用户自己点击选择

总页数(all_page):总数量 % 每页的数量 == 0 整除后的商 : 商 + 1

limit num  # 查询多少条limit num1, num2; # num1: 偏移量, num2 : 每页的数量  limit cur_page * (page_size - 1), page_size;

分表

数据直接都存储在一张表中:

  • 如果数据很大,性能会出现问题

  • 将不同的数据,如果放在同一个表中,可能数据冗余

  • 数据冗余,会导致数据可能出错

将不同的类型,采用不同的数据表进行存储,如果两张表或者多张表之间存在关联关系,则可以采用外键来描述这种关联关系。

主表中,一般是一个字段,改字段一般是从表的主键。

create table grade(id int auto_increment,name varchar(50) unique,primary key (id)
);insert into grade(name) value("java精品班"),("python数据分析班"),("网络安全班"),("云原生高级班");create table student(id int primary key auto_increment,name varchar(50) unique,gender enum("F","M"),age int default 18,address varchar(255),class_id int
);

#插入一些数据
insert into student(name, class_id) values("小明", 1);
insert into student(name, class_id) values("小红", 2);
insert into student(name, class_id) values("小谢", 1);
insert into student(name, class_id) values("小高", 3);
insert into student(name, class_id) values("小紫", 1);
insert into student(name, class_id) values("小兰", 4);

-- 此时,插入了一条错误数据,该数据描述的外键不存在,是一条脏数据!!!
insert into student(name, class_id) values("小黑666", 44);
## 如果要避免出现这种情况,必须加入外键约束!

多表关联查询

select *|字段 [,……] from 表名称 [,表名称] ……-- 交叉连接(cross join)
-- 在查询多表时,不指定表的关联关系,数据只能全部匹配
-- 引发笛卡尔积现象
select * from student, grade;-- sql98的标准写法
select * from student cross join grade;

#内连接
select * from student, grade where student.class_id = grade.id;
select * from student, grade where student.class_id = grade.id and student.name = "小明";

练习题

一、单表查询

素材: 表名:worker-- 表中字段均为中文,比如 部门号 工资 职工号 参加工作 等
CREATE TABLE `worker` (`部门号` int(11) NOT NULL,`职工号` int(11) NOT NULL,`工作时间` date NOT NULL,`工资` float(8,2) NOT NULL,`政治面貌` varchar(10) NOT NULL DEFAULT '群众',`姓名` varchar(20) NOT NULL,`出生日期` date NOT NULL,PRIMARY KEY (`职工号`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;INSERT INTO `worker` (`部门号`, `职工号`, `工作时间`, `工资`, `政治面貌`, `姓名`, `出生日期`) VALUES (101, 1001, '2015-5-4', 3500.00, '群众', '张三', '1990-7-1');
INSERT INTO `worker` (`部门号`, `职工号`, `工作时间`, `工资`, `政治面貌`, `姓名`, `出生日期`) VALUES (101, 1002, '2017-2-6', 3200.00, '团员', '李四', '1997-2-8');
INSERT INTO `worker` (`部门号`, `职工号`, `工作时间`, `工资`, `政治面貌`, `姓名`, `出生日期`) VALUES (102, 1003, '2011-1-4', 8500.00, '党员', '王亮', '1983-6-8');
INSERT INTO `worker` (`部门号`, `职工号`, `工作时间`, `工资`, `政治面貌`, `姓名`, `出生日期`) VALUES (102, 1004, '2016-10-10', 5500.00, '群众', '赵六', '1994-9-5');
INSERT INTO `worker` (`部门号`, `职工号`, `工作时间`, `工资`, `政治面貌`, `姓名`, `出生日期`) VALUES (102, 1005, '2014-4-1', 4800.00, '党员', '钱七', '1992-12-30');
INSERT INTO `worker` (`部门号`, `职工号`, `工作时间`, `工资`, `政治面貌`, `姓名`, `出生日期`) VALUES (102, 1006, '2017-5-5', 4500.00, '党员', '孙八', '1996-9-2');

要求:

1、显示所有职工的基本信息。
select*from worker;
2、查询所有职工所属部门的部门号,不显示重复的部门号。  
select distinct 部门号 from worker;
3、求出所有职工的人数。
select count(*) as 总人数 from worker;
4、列出最高工和最低工资。 
select max(工资),min(工资) from worker;
5、列出职工的平均工资和总工资。
select avg(工资),sum(工资) from worker;
6、创建一个只有职工号、姓名和参加工作的新表,名为工作日期表。 
create table workday(`职工号` int(11) primary key auto_increment,`姓名` varchar(10) unique,`参加工作` varchar(10)
);
7、显示所有女职工的年龄。 select name, age from worker where gender="女";
8、列出所有姓刘的职工的职工号、姓名和出生日期。
select 职工号,姓名,出生日期 from worker where 姓名 like "刘%";
9、列出1960年以前出生的职工的姓名、参加工作日期。
mysql> select 姓名,工作时间 from worker where 工作时间 <=1960-01-01;
10、列出工资在1000-2000之间的所有职工姓名。 
select 姓名  from worker where 工资 between 1000 and 2000;
11、列出所有陈姓和李姓的职工姓名。
select 姓名 from worker where 姓名 like "陈%" and 姓名 like "李%";
12、列出所有部门号为2和3的职工号、姓名、党员。
select 职工号, 姓名,政治面貌 from worker where 部门号 between 2 and 3 and 政治面貌 = "党员";
13、将职工表worker中的职工按出生的先后顺序排序。
select*from worker order by 出生日期 asc;
14、显示工资最高的前3名职工的职工号和姓名。 
select*from worker order by 工资 desc limit 3;
15、求出各部门党员的人数。 
select 部门号,sum(政治面貌="党员") as 党员人数 from worker group by 部门号;
16、统计各部门的工资和平均工资
select 部门号,sum(工资) as 总工资, avg(工资) as 平均工资 from worker group by 部门号;
17、列出总人数大于4的部门号和总人数
select 部门号,count(*) as 总人数 from worker group by 部门号 having count(*) > 4;

二、多表查询

1.创建student和score表
CREATE  TABLE student (
id  INT(10)  NOT NULL  UNIQUE  PRIMARY KEY ,
name  VARCHAR(20)  NOT NULL ,
sex  VARCHAR(4) ,
birth  YEAR,
department  VARCHAR(20) ,
address  VARCHAR(50)
);创建score表。SQL代码如下:
CREATE  TABLE score (
id  INT(10)  NOT NULL  UNIQUE  PRIMARY KEY  AUTO_INCREMENT ,
stu_id  INT(10)  NOT NULL ,
c_name  VARCHAR(20) ,
grade  INT(10)
);2.为student表和score表增加记录
向student表插入记录的INSERT语句如下:
INSERT INTO student VALUES( 901,'张老大', '男',1985,'计算机系', '北京市海淀区');
INSERT INTO student VALUES( 902,'张老二', '男',1986,'中文系', '北京市昌平区');
INSERT INTO student VALUES( 903,'张三', '女',1990,'中文系', '湖南省永州市');
INSERT INTO student VALUES( 904,'李四', '男',1990,'英语系', '辽宁省阜新市');
INSERT INTO student VALUES( 905,'王五', '女',1991,'英语系', '福建省厦门市');
INSERT INTO student VALUES( 906,'王六', '男',1988,'计算机系', '湖南省衡阳市');向score表插入记录的INSERT语句如下:
INSERT INTO score VALUES(NULL,901, '计算机',98);
INSERT INTO score VALUES(NULL,901, '英语', 80);
INSERT INTO score VALUES(NULL,902, '计算机',65);
INSERT INTO score VALUES(NULL,902, '中文',88);
INSERT INTO score VALUES(NULL,903, '中文',95);
INSERT INTO score VALUES(NULL,904, '计算机',70);
INSERT INTO score VALUES(NULL,904, '英语',92);
INSERT INTO score VALUES(NULL,905, '英语',94);
INSERT INTO score VALUES(NULL,906, '计算机',90);
INSERT INTO score VALUES(NULL,906, '英语',85);

要求:

3.查询student表的所有记录
select*from student;
4.查询student表的第2条到4条记录
select*from student limit 1,4;
5.从student表查询所有学生的学号(id)、姓名(name)和院系(department)的信息
mysql> select id,name,department from student;
6.从student表中查询计算机系和英语系的学生的信息
select*from student where department ="计算机系" or department="英语系";
7.从student表中查询年龄18~22岁的学生信息
select*from student where age between 18 and 22;
8.从student表中查询每个院系有多少人
select department,count(department) as 人数 from student group by department; 
9.从score表中查询每个科目的最高分
select c_name,max(grade) from score group by c_name;
10.查询李四的考试科目(c_name)和考试成绩(grade)
select c_name,grade from student,score where student.id=score.stu_id and student.name="李四";
11.用连接的方式查询所有学生的信息和考试信息
select*from student,score;
12.计算每个学生的总成绩
select student.name as 姓名, sum(score.grade) as 总成绩 from student join score on student.id=score.stu_id group by student.id,student.name;
13.计算每个考试科目的平均成绩
select c_name ,avg(grade) from score group by c_name;
14.查询计算机成绩低于95的学生信息
select*from student join score on (student.id=score.stu_id) where grade <95 and c_name="计算机";
15.查询同时参加计算机和英语考试的学生的信息
select*from student join score on (student.id=score.stu_id) where c_name="计算机" or c_name="英语" and ;
16.将计算机考试成绩按从高到低进行排序
select grade as 计算机成绩 from score where c_name="计算机" order by grade desc ;
17.从student表和score表中查询出学生的学号,然后合并查询结果
select id as 学号 from student union select stu_id as 学号 from score order by 学号;
18.查询姓张或者姓王的同学的姓名、院系和考试科目及成绩
select name,department,c_name,grade from student join score on (student.id=score.stu_id) where student.name like "张老六" or student.name like "王%";
19.查询都是湖南的学生的姓名、年龄、院系和考试科目及成绩
select name,(YEAR(CURDATE()) - birth) as 年龄,department,c_name as 考试科目,grade as 成绩 from student join score on(student.id=score.stu_id) and address like "湖南%";

http://www.dtcms.com/wzjs/56799.html

相关文章:

  • 网站怎么做平台教育机构退费纠纷找谁
  • 上海定制化网站开发seo推广优化服务
  • 怎么做网站平台教程安徽360优化
  • 深圳模板建站企业网店代运营诈骗
  • 中信建设有限责任公司定州公众号seo排名软件
  • 购物网站后台好管理吗无锡百度正规公司
  • 新疆建设工程信息官网徐州自动seo
  • 上海响应式网站建设公司网站推广怎么推广
  • 做点效果图赚钱的网站郑州见效果付费优化公司
  • 网站建设购买营销技巧在线完整免费观看
  • 合肥网站建设的公司百度企业认证怎么认证
  • 衢州 网站 制作网络营销方式有哪些分类
  • 营销型企业网站优点seo优化官网
  • 做网站用哪个软件写比较好百度云网盘搜索引擎入口
  • 广州网站建设报价单只需要手机号的广告
  • 世界五大顶级猎头公司seo网站推广助理
  • 域名网站如何做互联网宣传方式有哪些
  • 免费网站系统下载网站推广网络营销方案
  • 深圳 做公司网站在seo优化中
  • 建设互联网教育网站java培训班
  • 无备案网站广告如何做百度秒收录神器
  • 官网建站网站360优化大师最新版的功能
  • o2o网站建设信息精准客户截流软件
  • 哪个网站是做旅游B2B的如何做seo搜索引擎优化
  • 做日租都有哪些网站网络营销服务商
  • 武汉做网站便宜公司哪家好seo研究中心怎么了
  • 国外网站建设接单网络推广费用高吗
  • 英文b2c网站建设不限次数观看视频的app
  • 济南品牌网站制作方案一键搭建网站
  • 威县做网站哪里好磁力搜索神器