普洱市网站建设,深圳龙华区核酸检测点,互联网广告推广是做什么的,学校网站用途文章目录 前言一、库的基本操作显示当前所有数据库创建数据库使用数据库删除数据库 二、表的基本操作创建表查看库中所有表查看表结构删除表 三、表的增删改查(基础)新增数据(Create)全列插入指定列插入 查询数据(Retrieve)全列查询指定列查询查询字段为表达式指定列的别名去重… 文章目录 前言一、库的基本操作显示当前所有数据库创建数据库使用数据库删除数据库 二、表的基本操作创建表查看库中所有表查看表结构删除表 三、表的增删改查(基础)新增数据(Create)全列插入指定列插入 查询数据(Retrieve)全列查询指定列查询查询字段为表达式指定列的别名去重DISTINCT排序ORDER BY条件查询WHERE分页查询LIMIT 修改数据(Update)删除数据(Delete) 总结 前言
本人是一个普通程序猿!分享一点自己的见解,如果有错误的地方欢迎各位大佬莅临指导,如果你也对编程感兴趣的话互关一下以后互相学习共同进步。这篇文章能够帮助到你的话,劳请大家点赞转发支持一下! 一、库的基本操作
显示当前所有数据库
SHOW DATABASES;创建数据库
大写字母为语法关键字[]为可选项即可写可不写
CREATE DATABASE [IF NOT EXISTS] 库名 [CHARACTER SET 字符集名];1️⃣IF NOT EXISTS 的作用是如果数据库种已经有使用这个库名的就不创建(不会报错)没有则成功创建。 2️⃣CHARACTER SET 字符集名使用你指定的字符集。(当我们创建数据库没有指定字符集时系统使用默认字符集utf8。MySQL的utf8编码不是真正的utf8MySQL的utf8中没有包含某些复杂的中文字符。MySQL真正的utf8是使用utf8mb4建议大家都使用utf8mb4) 语句1执行时不存在名为csdn的数据库创建了名为csdn并且指定字符集为utf8mb4的数据库语句1执行成功。 语句2执行时存在名为csdn的数据库因此并没有再创建一个名为csdn的数据库语句2执行成功。 使用数据库
USE 库名;使用数据库也可以理解为选中数据库先选中这个数据库才能开始对这个数据库中的数据进行操作。 删除数据库
DROP DATABASE [IF EXISTS] 库名;IF EXISTS 的作用是如果数据库中存在这个库名的就删除没有则不删除(不会报错)。 语句1执行成功成功删除了csdn这个数据库。 语句2执行成功此时并不存在csdn这个数据库就不删除了。 语句3执行失败并报错语句3中没有 IF EXISTS 关键字因此如果不存在要删除的库就会报错。 删库是一个高危操作如果是在公司中删库操作很容易带来许多不可逆的巨大损失因此在删库之前要深思熟虑三思而后行。 二、表的基本操作 表是存在于数据库中因此一定要先 选中一个数据库(USE 库名;) 然后在这个数据库里操作表。 创建表
CREATE TABLE 表名 (字段名 字段类型,字段名 字段类型,...);()中是你指定表中存在的字段名以及字段类型。 字段名在前字段类型在后中间用空格隔开各字段之间用 ’ , ’ 隔开 查看库中所有表
SHOW TABLES;查看表结构
DESC 表名;删除表
DROP TABLE [IF EXISTS] 表名;IF EXISTS 的作用是如果库中存在这个表就删除没有则不删除(不会报错)。 语句1执行成功删除了student表 语句2执行成功没有student表不进行删除。 删表也是一个高危操作如果是在公司中删表操作也很容易带来许多不可逆的巨大损失因此在删表之前要深思熟虑三思而后行。 三、表的增删改查(基础) 如果不指定字符集mysql默认字符集为utf8但是这个utf8中不包含复杂的中文字符此时当插入文字时就会报错。 咱们针对student这个表进行增删改查操作。
student表有三个字段
字段类型name(名字)VARCHAR(size)age(年龄)INTnumber(学号)INT
新增数据(Create)
全列插入
INSERT INTO 表名 VALUES (数据,数据,...);全列插入也可以理解为全字段插入数据即 给每个字段都要输入数据且数量必须和定义表的列的数量及顺序一致
单行数据插入
多行数据插入 每行数据之间用 ’ , 隔开
以下sql语句同时插入了三行数据
指定列插入
INSERT INTO 表名 (字段名,字段名,...) VALUES (数据,数据,...);指定列插入也可以理解为指定一些字段插入数据即 给指定的字段输入数据且数量必须和指定列的数量及顺序一致
单行数据插入
多行数据插入 每行数据之间用 ’ , 隔开
以下sql语句同时插入了三行数据 查询数据(Retrieve) 以下多种查询可以综合应用达到理想查询效果。
全列查询
SELECT * FROM 表名;全列查询即将每一行数据的每个字段都查询出来。 通常情况下不建议使用 * 进行全列查询 全列查询 * 要慎用 1️⃣全列查询在表中数据量级很大时那么这一个查询操作需要传输的数据量就很大就可能会影响整个程序的性能甚至是程序安全。 2️⃣全列查询可能会影响到 索引 的使用。 指定列查询
SELECT 字段名,字段名,... FROM 表名;指定列查询即将每一行数据的指定字段查询出来。 指定列的顺序不需要按定义表的顺序来 查询字段为表达式
SELECT 表达式,字段名,... FROM 表名;查询字段为表达式即将表达式作为查询字段mysql会查询出表达式中需要的数据并完成表达式的计算。
表达式不包含字段
表达式包含一个字段
表达式包含多个字段 NULL 任何类型的数据 NULL 指定列的别名
SELECT 字段名 [AS] 别名,字段名 [AS] 别名,字段名, ... FROM 表名;为查询结果中的列指定别名表示返回的结果集中以别名作为该列的名称。 一条查询语句中可以同时存在取别名的字段与不取别名的字段。 去重DISTINCT 使用DISTINCT关键字对某列数据进行去重
SELECT DISTINCT 字段,[字段,...] FROM 表名;普通查询
去重查询 以上三条去重语句的查询有两个要 注意 的点 1️⃣ DISTINCT要在所有字段的最前面 2️⃣ 如果DISTINCT关键字后面有多个字段时则会对多个字段进行综合去重只有多个字段值都对应相等的才会被去重 。 排序ORDER BY 根据某个字段的大小对返回的查询结果的顺序进行排序。
SELECT ... FROM 表名 ORDER BY 字段名 [ASC|DESC];ASC 为升序从小到大,默认为 ASC。 DESC 为降序从大到小。 没有 ORDER BY 子句的查询返回的顺序是未定义的永远不要依赖这个顺序。 NULL 数据排序视为比任何值都小升序出现在最上面降序出现在最下面。 普通排序
使用表达式及别名排序
对多个字段进行排序 对多个字段进行排序时排序优先级随书写顺序。 条件查询WHERE
比较运算符
运算符说明, , , 大于大于等于小于小于等于等于NULL 不安全例如 NULL NULL 的结果是 NULL等于NULL 安全例如 NULL NULL 的结果是 TRUE!或不等于BETWEEN a0 AND a1范围匹配[a0, a1]如果 a0 value a1返回 TRUEIN (option, …)如果是 option 中的任意一个返回 TRUEIS NULL是 NULLIS NOT NULL不是 NULLLIKE模糊匹配。% 表示任意多个包括 0 个任意字符_ 表示任意一个字符
逻辑运算符
运算符说明AND多个条件必须都为 TRUE结果才是 TRUEOR任意一个条件为 TRUE, 结果为 TRUENOT逻辑取反(TRUE为 FALSE,FALSE为TRUE) 注意 WHERE条件可以使用表达式但不能使用别名。 AND的优先级高于OR在同时使用时需要使用小括号()包裹优先执行的部分 SELECT ... FROM 表名 WHERE BOOLEAN表达式使用例子 分页查询LIMIT
SELECT ... FROM 表名 [...] LIMIT n [OFFSET s];上述语句表示只查询n条数据从第s条数据开始查询(第一个数据为第0条)。 [ ]中可有可无如果无则默认从第0条数据开始查询 修改数据(Update)
UPDATE 表名 SET 字段 修改后数据 [其他查询语句WHERE等];实现效果将无名氏的年龄修改为30。 删除数据(Delete)
删除某行数据
DELETE FROM 表名 where等查询条件;删除表中所有数据 删除表中数据后表依然存在只是其中没有数据了。 总结
以上就是今天要讲的内容本文分享了数据库表的基本操作以及对表中数据的CRUD(增删改查)操作后续还会带来对表中数据的进阶CRUD(增删改查)操作敬请期待
路漫漫不止修身也养性。