MySQL基本语句与操作符

一. MySQL基本语句与操作符
1.where子句:可以与select,update, delete,命令搭配使用,构成条件从数据表中选取数据。
使用语法:

SELECT field1, field2,…fieldN FROM table_name1, table_name2…
[WHERE condition1 [AND [OR]] condition2…

*查询语句中可以使用一个或多个表,表之间用逗号分隔开。在where子句中可以设定任何条件以筛取数据。
实例:读取inof表中成绩大于60分的所有记录
在这里插入图片描述
2.update修改更新数据:可以修改字段里的原有内容,以实现更新数据。
使用语法:

UPDATE table_name SET field1=new-value1, field2=new-value2
[WHERE Clause]

table_name是数据表的名字,new-value1为给字段新设置的值,也可以同时更新多个字段,字段之间用逗号隔开。
实例:
在这里插入图片描述
在这里插入图片描述
3.delete语句:可以用于删除数据库,数据表,也可以用于删除数据表中的记录。**
使用语法:

DELETE FROM table_name [WHERE Clause]

*如果没有使用where子句,数据表中的所有记录将会被删除。
实例:

删除姓名为“” xiaohua“”同学的记录:
在这里插入图片描述
4.like子句:like子句与where子句搭配使用可以获取含有某些字符的所有记录。
使用语法:

SELECT field1, field2,…fieldN
FROM table_name
WHERE field1 LIKE condition1 [AND [OR]] filed2 = ‘somevalue’

*like子句中使用%字符表示任意字符,类似于星号,如果没有使用%,则like子句与等号=的效果相同。
’%a’ //以a结尾的数据
‘a%’ //以a开头的数据
‘%a%’ //含有a的数据

a’ //三位且中间字母是a的
a’ //两位且结尾字母是a的
'a
’ //两位且开头字母是a的

实例:
在这里插入图片描述
5.union操作符:用于连接两个以上的select语句的结果结合组合到一个结果集合中去,多个select语句会删除重复的数据。
使用语法:

SELECT expression1, expression2, … expression_n
FROM tables
[WHERE conditions]
UNION [ALL | DISTINCT]
SELECT expression1, expression2, … expression_n
FROM tables
[WHERE conditions];

扫描二维码关注公众号,回复: 11582176 查看本文章

*expression1, expression2, … expression_n: 要检索的列。

*tables: 要检索的数据表。

*WHERE conditions: 可选, 检索条件。

*DISTINCT: 可选,删除结果集中重复的数据。默认情况下 UNION 操作符已经删除了重复数据,所以 DISTINCT 修饰符对结果没啥影响。

*ALL: 可选,返回所有结果集,包含重复数据。
实例:
websites数据表;
在这里插入图片描述
apps数据表:
在这里插入图片描述
用union子句从 “Websites” 和 “apps” 表中选取所有不同的country(只有不同的值):
执行以下代码在这里插入图片描述
注释:UNION 不能用于列出两个表中所有的country。如果一些网站和APP来自同一个国家,每个国家只会列出一次。UNION 只会选取不同的值。请使用 UNION ALL 来选取重复的值!在这里插入图片描述
带有where的union all子句:
在这里插入图片描述
6.用于排序的命令:如果需要对读取的数据进行排序,可以使用order by 子句设定某一字段用哪种方式来进行排序,再返回搜索结果。
使用语法:

SELECT field1, field2,…fieldN FROM table_name1, table_name2…
ORDER BY field1 [ASC [DESC][默认 ASC]], [field2…] [ASC [DESC][默认 ASC]]

*可以使用 ASC(升序) 或 DESC(降序) 关键字来设置查询结果是按升序或降序排列。 默认情况下,它是按升序排列。
可以添加 WHERE…LIKE 子句来设置条件。
实例:
降序:
在这里插入图片描述
升序;
在这里插入图片描述
7.用于分组的命令:group by 语句根据一个或多个列对结果集进行分组。在分组的列上可以使用count,sum, avg,等函数。
使用语法:

SELECT column_name, function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name;

function(column_name)可以为count,sum, avg,等函数。
在这里插入图片描述

接下来我们使用 GROUP BY 语句 将数据表按名字进行分组,并统计每个人有多少条记录:在这里插入图片描述
如果使用with rollup 可以实现在分组统计数据基础上再进行相同的统计,包含function函数,sum,avg,count等。
实例:
在这里插入图片描述
8.删除,添加或修改表字段
al ter命令

mysql> ALTER TABLE table _name DROP i;

使用 ALTER 命令及 DROP 子句来删除以上创建表的 i 字段.

mysql> ALTER TABLE table _name ADD i INT;

MySQL 中使用 ADD 子句来向数据表中添加列,并定义数据类型。

如果需要指定新增字段的位置,可以使用MySQL提供的关键字 first(设定位第一列), after 字段名(设定位于某个字段之后)。

ALTER TABLE table_name ADD i INT FIRST;

FIRST 和 AFTER 关键字可用于 ADD 与 MODIFY 子句,所以如果你想重置数据表字段的位置就需要先使用 DROP 删除字段然后使用 ADD 来添加字段并设置位置。

9.修改字段类型及名称
如果需要修改字段类型及名称, 可以在ALTER命令中使用 MODIFY (修改)或 CHANGE(改变) 子句 。

mysql> ALTER TABLE table_name MODIFY c CHAR(10);

mysql> ALTER TABLE table_name CHANGE i j BIGINT;

在 CHANGE 关键字之后,紧跟着的是要修改的字段名,然后指定新字段名及类型。

ALTER TABLE 对 Null 值和默认值的影响

mysql> ALTER TABLE table_name
-> MODIFY j BIGINT NOT NULL DEFAULT 100;

指定字段 j 为 NOT NULL 且默认值为100 ,如果不设置默认值,MySQL会自动设置该字段默认为 NULL。

10.修改表名:将数据表的名字重新命名。

mysql> ALTER TABLE old table_name RENAME TO new table_name;

使用rename子句实现。

修改数据表类型
可以使用 ALTER 命令及 TYPE 子句来完成。

注意:查看数据表类型可以使用 SHOW TABLE STATUS 语句。

想要了解更多操作符与命令的可以参考菜鸟教程!
https://www.runoob.com/mysql/mysql-join.html

猜你喜欢

转载自blog.csdn.net/dang_dang_/article/details/107951435