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

网站建设的公司服务seo排名优化资源

网站建设的公司服务,seo排名优化资源,网站在哪备案,武汉高端做网站目录 1、新增操作(Create) 1.1 单行数据 全列插入 1.2 多行数据 全列插入 1.3 单行数据 指定列插入 2、修改操作(Update) 3、删除操作(Delete) 1、新增操作(Create) 如何给一张表新增数据呢? 新增(Create),在我们数据库中,用 ins…

 

目录

1、新增操作(Create) 

1.1 单行数据 + 全列插入

1.2 多行数据 + 全列插入

1.3 单行数据 + 指定列插入

2、修改操作(Update)

3、删除操作(Delete)


1、新增操作(Create) 

如何给一张表新增数据呢? 新增(Create),在我们数据库中,用 insert into 来进行新增操作,首先我们需要有一张表:

create table student (id int,name varchar(10),sex varchar(2)
);

现在我们就对这个 student 这个表进行增加数据的操作。

1.1 单行数据 + 全列插入

这个意思就是,一次只插入一行,每一列都会插入数据,不存在没有不插入数据的列:

insert into student values(1, '张三', '男');

这样我们就插入了一条语句了,这里也可以用 value 不用 values,使用 value 在一次性插入多行的时候效率更优,而 values 在只插入一行的时候速度更优,所以不要看到有一个 s 就表示多行就更快了,其实是反着的。

1.2 多行数据 + 全列插入

如果一次性我有很多行数据想要插入,每列都要插入数据,如何做呢?

insert into student value (2, '小美', '女'),(3, '赵六', '男');
-- Query OK, 2 rows affected (0.00 sec)
-- Records: 2  Duplicates: 0  Warnings: 0

这里通过 mysql 客户端给出的信息,也能看到我们成功插入了 2 行数据了。

1.3 单行数据 + 指定列插入

在我们这个 student 表中,所有的列都是允许为空值的,也就是表示该列中可以不填任何数据,如果我们要插入 李四,而 李四又 不想告诉别人他的性别,那我们就可以不用给 李四 插入性别那一列了:

insert into student (id, name) values (4, '李四');
-- Query OK, 1 row affected (0.00 sec)

那里面 sex 这一列没有被填充怎么办呢?那肯定就是用默认值去填充了!我们这里就是 NULL:

desc student;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | YES  |     | NULL    |       |
| name  | varchar(10) | YES  |     | NULL    |       |
| sex   | varchar(2)  | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
-- 3 rows in set (0.00 sec)

注意:values () 括号中的内容,个数和类型一定要和表的结构匹配!如果是指定列插入,试具体情况而定!

insert into student(id, name) values(1, '张三', '男');
-- ERROR 1136 (21S01): Column count doesn't match value count at row 1

就比如说,我指定插入 id 和 name 这两列,但是我插入了三列,这样就会报错!多行数据 + 指定列插入也是如此,这里就在讲述了。


2、修改操作(Update)

很多同学在学习阶段不重视修改操作,导致在面试的时候连修改的 SQL 是写错的,所以增删改查,一个都不能少!

语法: 

update 表名 set 列名 = 值 where 条件;

 我们先来看下表中有哪些数据:

select * from student;
+------+--------+------+-------+--------+
| id   | name   | sex  | java  | python |
+------+--------+------+-------+--------+
|    1 | 张三   | 男   | 88.20 |  87.90 |
|    2 | 李四   | 男   | 92.50 |  78.20 |
|    3 | 小美   | 女   | 80.90 |  68.60 |
|    4 | 小花   | 男   | 97.00 |  71.30 |
|    5 | 李四   | 男   |  NULL |   NULL |
|    6 | 小花   | 女   |  NULL |   NULL |
+------+--------+------+-------+--------+
-- 6 rows in set (0.02 sec)

● 这里 python 老师觉得有些同学分数太低,决定把 python 分数低于 80 分的同学加上 5 分:

update student set python = python + 5 where python < 80;
-- Query OK, 3 rows affected (0.00 sec)
-- Rows matched: 3  Changed: 3  Warnings: 0mysql> select * from student;
+------+--------+------+-------+--------+
| id   | name   | sex  | java  | python |
+------+--------+------+-------+--------+
|    1 | 张三   | 男   | 88.20 |  87.90 |
|    2 | 李四   | 男   | 92.50 |  83.20 |
|    3 | 小美   | 女   | 80.90 |  73.60 |
|    4 | 小花   | 男   | 97.00 |  76.30 |
|    5 | 李四   | 男   |  NULL |   NULL |
|    6 | 小花   | 女   |  NULL |   NULL |
+------+--------+------+-------+--------+
-- 6 rows in set (0.00 sec)

这里我们发现 id 为 2,id 为 3, id 为 4,的同学 python 分数都加了 5 分,而后面两个 python 成绩为 NULL 的同学为什么没有加呢?前面不是说过 NULL 是最小值吗?但是这里我们注意,NULL 是最小值,但是 NULL 是无法进行算数运算的!

注意:update 操作是实际在修改服务器硬盘上的数据!

● 将所有同学的 java 成绩减少 5 分:

update student set java = java - 5;
-- Query OK, 4 rows affected (0.00 sec)
-- Rows matched: 6  Changed: 4  Warnings: 0mysql> select * from student;
+------+--------+------+-------+--------+
| id   | name   | sex  | java  | python |
+------+--------+------+-------+--------+
|    1 | 张三   | 男   | 83.20 |  87.90 |
|    2 | 李四   | 男   | 87.50 |  83.20 |
|    3 | 小美   | 女   | 75.90 |  73.60 |
|    4 | 小花   | 男   | 92.00 |  76.30 |
|    5 | 李四   | 男   |  NULL |   NULL |
|    6 | 小花   | 女   |  NULL |   NULL |
+------+--------+------+-------+--------+
-- 6 rows in set (0.00 sec)

上述可以发现,如果 update 后面不加 where 条件的话,默认就是对指定列的每一行都匹配上了!仍然还是有空值,因为空值是无法进行算数运算的!

注意:这里的 java = java - 5,一定不要写成 java -= 5,因为 SQL 是一门比较老的语言,很多的语法细节和 Java 啥的还是差别比较大的。

● 如果小美考试作弊了,被老师发现了,每一科的成绩都将按照 0 分进行处理,这时我们 update 也可以同时去修改多个列:

update student set java = 0, python = 0 where name = '小美';
-- Query OK, 1 row affected (0.00 sec)
-- Rows matched: 1  Changed: 1  Warnings: 0mysql> select * from student;
+------+--------+------+-------+--------+
| id   | name   | sex  | java  | python |
+------+--------+------+-------+--------+
|    1 | 张三   | 男   | 83.20 |  87.90 |
|    2 | 李四   | 男   | 87.50 |  83.20 |
|    3 | 小美   | 女   |  0.00 |   0.00 |
|    4 | 小花   | 男   | 92.00 |  76.30 |
|    5 | 李四   | 男   |  NULL |   NULL |
|    6 | 小花   | 女   |  NULL |   NULL |
+------+--------+------+-------+--------+
-- 6 rows in set (0.00 sec)

● 学校为了避免同学们成绩相差过大而失去信心,现需将总分为前两名同学每科成绩降低 3 分:

update student set java = java - 3, python = python - 3 order by java + python desc limit 2;
-- Query OK, 2 rows affected (0.00 sec)
-- Rows matched: 2  Changed: 2  Warnings: 0

这个 SQL 执行是这样的,先按照总分进行降序排序,然后再只选取两个,由于没有 where 条件,所以匹配的是对应列所有行,但是由于 limit 2,限制了只有 2 行,所以就能达到针对前两名的总分减 3 了:

mysql> select * from student;
+------+--------+------+-------+--------+
| id   | name   | sex  | java  | python |
+------+--------+------+-------+--------+
|    1 | 张三   | 男   | 80.20 |  84.90 |
|    2 | 李四   | 男   | 84.50 |  80.20 |
|    3 | 小美   | 女   |  0.00 |   0.00 |
|    4 | 小花   | 男   | 92.00 |  76.30 |
|    5 | 李四   | 男   |  NULL |   NULL |
|    6 | 小花   | 女   |  NULL |   NULL |
+------+--------+------+-------+--------+
-- 6 rows in set (0.00 sec)

通过查询修改后的,发现确实总分前两名的同学每科成绩都减少了 3 分。

对于 update 操作,我们也需要谨慎,update 中的条件,务必保证要是正确的,千万不能把不该改的数据给改了!!!


3、删除操作(Delete)

delete from 表名 where 条件;

● 删除 java 成绩或者 python 成绩为 NULL 的同学信息:

delete from student where java <=> NULL or python <=> NULL;
-- Query OK, 2 rows affected (0.01 sec)mysql> select * from student;
+------+--------+------+-------+--------+
| id   | name   | sex  | java  | python |
+------+--------+------+-------+--------+
|    1 | 张三   | 男   | 80.20 |  84.90 |
|    2 | 李四   | 男   | 84.50 |  80.20 |
|    3 | 小美   | 女   |  0.00 |   0.00 |
|    4 | 小花   | 男   | 92.00 |  76.30 |
+------+--------+------+-------+--------+
-- 4 rows in set (0.00 sec)

注意 :删除操作也是在操作数据库服务器的硬盘,需要小心! 

delete 的操作,后面的条件是可以跟 update 一样的,支持 where,order by,limit 等操作。

如果没有写任何条件,那就是把整个表中的数据都删除了:

delete from student;
-- Query OK, 4 rows affected (0.00 sec)select * from student;
-- Empty set (0.00 sec)

对于这两期的内容来说,并没有什么难点,需要是多加练习,熟悉 SQL 的语法,不要去记忆一些关键字,一定要孰能生巧,你敲多了,自然就记住了!


下期预告:【MySQL】查询操作(基础篇)

http://www.hkea.cn/news/533644/

相关文章:

  • 南京网站建设优化今日头条普通版
  • 网站编辑的工作职能有哪些活动营销案例100例
  • 小程序招商加盟平台我是seo关键词
  • wordpress 发帖机镇江抖音seo
  • 网站建设的小结可以发外链的论坛有哪些
  • 网站正常打开速度网店营销与推广策划方案
  • 义乌 网站制作进入百度app
  • 做外围网站赌球红树林seo基础入门免费教程
  • 绿色风格网站seo排名赚钱
  • 南宁企业免费建站百度推广营销怎么做
  • 建立个人网站的成本短视频seo营销系统
  • 深圳公司名称大全网站结构优化的内容和方法
  • 安康市代驾公司上海网站关键词排名优化报价
  • 怎么在网站上建设投票统计在线培训系统app
  • 泰州网站建设哪家好网站seo的主要优化内容
  • 洛卡博网站谁做的seo权重查询
  • 东莞网络科技公司有哪些山东网站seo
  • 网站建设需要学什么网站模板购买
  • 用html做的游戏网站关键词推广效果分析
  • 做影视网站引流正规推广平台有哪些
  • 免费下载简历模板北京seo排名厂家
  • 西昌市做网站的百度搜索排名靠前
  • 办公室装修实景拍摄图重庆seo俱乐部联系方式
  • 网站建设阶段推广计划书怎么写
  • 代做毕业设计网站现成注册网站平台
  • 电商网站开发工作计划企业网络营销策划
  • 用wps网站栏目做树形结构图网页设计代码案例
  • 多媒体网站设计开发是指什么每日关键词搜索排行
  • 网站 seo正规网络公司关键词排名优化
  • 建立网站赚多少钱seo收录排名