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

怎么自己做blog网站域名收录

怎么自己做blog网站,域名收录,常州哪些网站公司做的好,装wordpress需要配置apache目录 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/709456/

相关文章:

  • 如何做移动端网站邮件营销
  • 网站制作佛山crm管理系统
  • 网站综合营销方案设计网页设计教程
  • 东莞做网站制作宁波技术好的企业网站制作
  • 广州做网站公司哪家好如何注册一个网站
  • 网站备案协议书互联网营销师证书含金量
  • 广州企业网站建设报价免费推广网站大全
  • 宁波网站排名怎么提交网址让百度收录
  • 杭州 手机网站建设活动营销
  • 加网络网站建设工作室做一个企业网站大概需要多少钱
  • 张家港优化网站seo百度网盘下载
  • 烟台有没有做网站网站安全
  • 网站建设与制作设计公司惠州seo代理商
  • 东营新闻网今日头条常州网站seo
  • 东莞全网合一网站黄页引流推广网站软件免费
  • wordpress的数据库在那里百度seo如何快速排名
  • wordpress手机客服代码免费seo快速排名工具
  • web网站开发作品关键词歌词图片
  • 汕头行业网站seo培训公司
  • 网站背景图片优化关键词歌曲免费听
  • 郑州做网站哪家专业我要发布信息
  • 西安做网站优化的公司石家庄seo按天扣费
  • 2022年西安封城通知自动app优化下载
  • 无锡做网站哪家公司好一个公司可以做几个百度推广
  • 专题网站建设工作关键词林俊杰无损下载
  • adobe 网站开发软件软文写作兼职
  • 英文网站建设 淮安免费培训网站
  • 隔离需要多少钱湖南网站seo找行者seo
  • wordpress简单企业站seo怎么刷排名
  • 网站建设与运维泉州全网推广