数据库
倔强的小白菜
油菜油爱玩就不爱学习
展开
-
039 - sql逻辑操作符
CASE statement 需要注意:case前面需要加逗号,case后面是when...then...语句和esle语句,case以end...语句结束,后面是from...等内容原创 2023-08-31 09:42:56 · 1370 阅读 · 0 评论 -
038 - char and varchar
长度可以指定为 0 到 65,535 之间的值。固定为您在创建表时声明的长度。长度可以是 0 到 255 之间的任意值。取决于最大行大小(65,535 字节,在所有列之间共享)和使用的字符集。和 之间的差异 (假设该列使用单字节字符集,例如)。下表通过显示将各种字符串值存储到和列中的结果来说明。存储值时,会在右侧用空格填充到指定的长度。原创 2023-08-30 15:51:11 · 211 阅读 · 0 评论 -
037 - 有关时间和日期的函数方法
以下为案例,更多内容可查看文档。原创 2023-08-29 18:05:15 · 555 阅读 · 0 评论 -
036 - timezone
- 修改time_zone时间。timestamp随着time_zone变化而变化,datetime不会;另:修改时间是按照UTC的时间计算的,如果是CST,需要先换算成UTC,然后进行计算;timestamp随着mysql的time_zone变化而变化,但是datetime不会;原创 2023-08-29 11:01:13 · 162 阅读 · 0 评论 -
035 - datetime和timedstamp
该DATETIME类型用于包含日期和时间部分的值。'YYYY-MM-DD hh:mm:ss''1000-01-01 00:00:00''9999-12-31 23:59:59'该TIMESTAMP数据类型被用于同时包含日期和时间部分的值。练习:创建表,a、b字段为整数,c字段为timestamp,c时间随着a、b数据发生变化而变化更新为数据变动时的当前时间;如果数据a发生变化,数据b更新为当前时间;备注:以上可以验证,表数据a发生变化,b数据更新为当前时间。备注:可以看到 b字段有默认事件为当前系统时间;原创 2023-08-29 10:22:40 · 106 阅读 · 0 评论 -
034 - year 年份类型
该YEAR类型是1字节类型,用于表示年份值。可以将其声明为 YEAR具有4个字符的隐式显示宽度,或等效于YEAR(4)显式显示宽度。使用具有显式显示宽度的数据类型,并且您应该期望在将来的MySQL版本中删除对它的支持。旧版本MySQL中允许的两位数 数据类型。范围内的值转换为2000to2069 和。范围内的值转换为2001to2069 和。作为返回上下文中可接受的值的函数的结果。作为 4 位数字的字符串,范围。作为 1 或 2 位数范围内的。作为 1 或 2 位数范围内的。不具有相同含义的显示宽度。原创 2023-08-25 18:16:31 · 240 阅读 · 0 评论 -
033 - date 和 time
该DATE类型用于具有日期部分但没有时间部分的值。MySQL检索并DATE以 格式显示 值。支持的范围是 到。-- 正确格式插入数据报错:ERROR 1292 (22007): Incorrect date value: '202308' for column 'a' at row 1注意:添加日期数据时,使用“年-月-日”格式,不能缺少数据;原创 2023-08-25 16:47:20 · 130 阅读 · 0 评论 -
032 - 位值类型-BIT
为了指定位值, 可以使用符号。是使用零和一编写的二进制值。例如, 和 分别代表7和128。如果将值分配给 长度小于位的列,则该值将在左侧填充零。例如,为列分配 值 实际上与分配 相同。一种类型 允许存储-位值。范围从 1 到 64。给定表中使用的 所有列的最大组合大小。-- 转化进制之前查询结果。不得超过 4096 位。原创 2023-08-24 18:18:48 · 97 阅读 · 0 评论 -
031 - 浮点类型(近似值 FLOAT,DOUBLE)
虽然前五记录看起来他们不应该满足的比较(值 a和b似乎没有不同),他们可以这样做,因为周围的第十小数左右的数字显示之间的差异,这取决于多种因素,如计算机体系结构或编译器版本或优化级别。进行浮点数比较的正确方法是,首先确定数字之间差异的可接受公差,然后再与公差值进行比较。由于浮点值是近似值而不是作为精确值存储的,因此在比较中尝试将它们视为精确值可能会导致问题。有关更多信息,请参见。为了获得最大的可移植性,需要存储近似数值数据值的代码应使用FLOAT或 DOUBLE PRECISION不指定精度或位数。原创 2023-08-24 17:13:57 · 173 阅读 · 0 评论 -
030 - 定点类型(精确值 DECIMAL)
最大位数为DECIMAL65,但是给定DECIMAL 列的实际范围可能受给定列的精度或小数位数的限制。当为这样的列分配的值的小数点后的位数比指定刻度允许的位数多时,该值将转换为该刻度。标准SQL要求DECIMAL(5,2)能够存储具有五位数字和两位小数的任何值,因此可以存储在salary 列中的值的范围是从-999.99到 999.99。DECIMAL(M)DECIMAL(M,0)DECIMALDECIMAL(M,0)MDECIMALM,如果DECIMAL小数位数为0,则值不包含小数点或小数部分。原创 2023-08-17 16:26:19 · 339 阅读 · 0 评论 -
028 - having函数
- SQL Server中的聚合函数有:聚合数据(group by)后面不能跟过滤条件where。-- 聚合数据(group by)前面可以跟过滤条件where(此时where过滤的是原始数据)-- 聚合数据(group by)后面不能跟过滤条件where,会报错。-- having不可以跟在聚合数据(group by)前面。-- having可以跟在聚合数据(group by)后面。3.avg() 某一列平均值。4.min() 某一列最小值。5.max() 某一列最大值。原创 2023-08-07 15:16:59 · 138 阅读 · 0 评论 -
027 - avg()函数
AVG 函数返回数值列的平均值。NULL 值不包括在计算中。原创 2023-08-02 15:14:40 · 293 阅读 · 0 评论 -
026 - sum()函数
SUM 函数返回数值列的总数(总额)。原创 2023-08-02 14:50:46 · 111 阅读 · 0 评论 -
025 - max()函数
- 查询title和最大salary,以title分组按照max的salary进行升序排序。注释:MAX 也可用于文本列,以获得按字母顺序排列的最高或最低值。MAX 函数返回一列中的最大值。NULL 值不包括在计算中。原创 2023-08-02 11:23:10 · 190 阅读 · 0 评论 -
024 - mix()函数
- 查询last_name和最小hire_date,按照last_name分组,以分组最小的入职时间降序排列。定义:MIN()函数返回一组值中的最小值。NULL 值不包括在计算中。-- 注释:MIN 也可用于文本列,以获得按字母顺序排列的最低值。数值(可以是字段或公式)原创 2023-08-02 11:05:55 · 186 阅读 · 0 评论 -
023 - group by
GROUP BY语句通常与聚合函数(COUNT,MAX,MIN,SUM,AVG)一起使用,将结果集分组为一列或多列。GROUP BY语句将具有相同值的行分组到汇总行中。SQL GROUP BY 语法。原创 2023-07-26 17:01:09 · 108 阅读 · 0 评论 -
022 - DISTINCT
在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。COUNT(DISTINCT column_name) 函数返回指定列的不同值的数目;SELECT DISTINCT 列名称 FROM 表名称;关键词 DISTINCT 用于返回唯一不同的值。SQL SELECT DISTINCT 语句。原创 2023-07-26 16:18:57 · 76 阅读 · 0 评论 -
021 - count()函数 - 对结果进行计数统计
- 注释:COUNT(DISTINCT) 适用于 ORACLE 和 Microsoft SQL Server,但是无法用于 Microsoft Access。COUNT(DISTINCT column_name) 函数返回指定列的不同值的数目(NULL 不计入);COUNT(column_name) 函数返回指定列的值的数目(NULL 不计入);COUNT() 函数返回匹配指定条件的行数。COUNT(*) 函数返回表中的记录数;原创 2023-07-26 15:11:22 · 211 阅读 · 0 评论 -
020 - like
select * from “table名” where “column字段名” like “%查询字符%”;select * from table名 where column字段名 like "查询字符%";-- 查询column字段中以“XXX”结尾的内容,%表示“XXX”前面可以是任意内容。-- 查询column字段中间包含的内容,%表示"XX"内容"XX"前后可以是任意内容。-- 查询columnm字段名中以C开头的内容,%表示字母C后面可以是任意内容。原创 2023-07-26 10:07:48 · 81 阅读 · 0 评论 -
019 - limit
有两个参数,第一个参数指定要返回的第一行的偏移量,第二个参数指定要返回的最大行数。limit:限制返回结果数量;该LIMIT子句可用于约束。原创 2023-07-25 11:40:06 · 161 阅读 · 0 评论 -
018 - ORDER BY
ORDER BY关键字默认按升序对记录进行排序。要按降序对记录进行排序,请使用DESC关键字。ORDER BY关键字用于按升序或降序对结果集进行排序。ORDER BY关键字:对返回结果进行排序。原创 2023-07-25 11:22:16 · 163 阅读 · 0 评论 -
017- substring- 字符串截取
- 注意:函数 substring(str,pos, len)中, pos 可以是负值,但 len 不能取负值。substring(“字符串”,正整数开始截取,正整数截取m个字符);substring(“字符串”,负数(倒数)开始截取);substring(“字符串”,正整数开始截取);原创 2023-07-25 09:30:06 · 121 阅读 · 0 评论 -
016 - concat()函数
MySQL CONCAT()函数需要一个或多个字符串参数,并将它们连接成一个字符串。CONCAT()函数需要至少一个参数,否则会引起错误。下面说明了CONCAT()函数的语法。CONCAT()函数在连接之前将所有参数转换为字符串类型-- 如果任何参数为NULL,则CONCAT()函数返回NULL值。-- 要想获取多个字符串拼接数据清晰展示,可以使用CONCAT函数将字符串,空格(mysql中空格用引号引起来,或者将空格换为逗号,逗号后面加空格等),字符串连接-- 多字符、空格等内容拼接练习。原创 2023-07-21 16:15:30 · 1197 阅读 · 0 评论 -
015 - delete
注意:delete from “table名”;为了防止错误的删除数据,可以先读取数据,确保筛选的数据没有错,再进行删除行操作。DELETE FROM “表名称” WHERE “列名称” = “值”;DELETE 语句用于删除表中的行。原创 2023-07-21 15:30:53 · 39 阅读 · 0 评论 -
014 - update
- 注意:update “table名” set “column字段值”=“新值”;不加过滤条件时修改的是整列的数据。UPDATE “表名称” SET “列名称” = “新值” WHERE “列名称” = “某值”;为了防止修改错数据,先读取数据,确保筛选的数据正确性,再进行修改操作。-- 修改一行中的多列。原创 2023-07-21 15:09:54 · 48 阅读 · 0 评论 -
013 - upper and lower
UPPER()函数将字符串转换为大写字母。LOWER()函数将字符串转换为小写。函数等于LOWER()函数。原创 2023-07-21 14:56:19 · 72 阅读 · 0 评论 -
012 - char_length
CHAR_LENGTH()函数返回字符串的长度(以字符为单位)。原创 2023-07-21 11:43:20 · 134 阅读 · 0 评论 -
011 - reveser-反转
- 将reverse使用在table中,select “column字段名”,reverse“column字段名”;定义:REVERSE() 函数反转字符串并返回结果。select reverse ("字符串");语法:REVERSE(string)原创 2023-07-21 11:33:01 · 45 阅读 · 0 评论 -
010 - replace - 替换
- 查询替换:select replace(column列表字段,"目标字符串","替换字符串") from 表名;-- 查询替换:select replace("原始字符串","目标字符串","替换字符串")-- 将数据插入到test02的表中。-- 查看表test02的表结构。-- 查看表test02的所有数。-- 新建表test02。原创 2023-07-20 10:51:25 · 41 阅读 · 0 评论 -
009 - where
WHERE 子句用于规定选择的标准。如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句。下面的运算符可在 WHERE 子句中使用:操作符描述等于或!不等于大于小于>=大于等于小于等于BETWEEN在某个范围内LIKE搜索某种模式注释:在某些版本的 SQL 中,操作符 可以写为!-- 只读table中的某一字段名的特定值SELECT * FROM "table名" where "column字段名" "运算符" "特定值";原创 2023-07-18 16:36:20 · 73 阅读 · 0 评论 -
008 - unique
UNIQUE 约束唯一标识数据库表中的每条记录。-- 创建表test,id创建unique约束-- 受unique约束字段数据重复会有错误提示:-- (2)再次插入上面相同数据时,报错:[Err] 1062 - Duplicate entry '1' for key 'id'原创 2023-07-17 10:59:53 · 76 阅读 · 0 评论 -
007-Auto_increment - 自增长
Auto-increment 会在新记录插入表中时生成一个唯一的数字(自增)。默认地,AUTO_INCREMENT 的开始值是 1,每条新记录递增 1。-- 查询test03表的所有数据。-- test03表中插入数据。原创 2023-07-14 15:56:13 · 232 阅读 · 0 评论 -
003 - insert
语法:insert into [table名] (column1,column2,...)values (column_value1,column_value2,...);-- 插入多条数据:插入多条数据时,values 后面可以跟多个();SELECT * FROM 表名。-- 查询所有表数据。原创 2023-07-14 11:39:43 · 63 阅读 · 0 评论 -
006-PRIMARY KEY - 唯一标识
- 没有插入唯一标识id数据时会报错:[Err] 1364 - Field 'id' doesn't have a default value。-- 插入以上相同数据时会报错:[Err] 1062 - Duplicate entry '1' for key 'PRIMARY'每个表都应该有一个主键,并且每个表只能有一个主键。主键列不能包含 NULL 值。-- test03中插入数据。PRIMARY KEY 约束。-- 查看test03表结构。数据库表中的每条记录。主键必须包含唯一的值。原创 2023-07-14 15:26:44 · 142 阅读 · 0 评论 -
005-NULL和NOT NULL
alter table 表名 alter column 字段名 set default “默认值”;(若本身不存在则可以直接设定)alter table 表名 alter column 字段名 drop default;(若本身存在默认值,则先删除)原创 2023-07-14 14:58:31 · 266 阅读 · 0 评论 -
004 - select - 查询
- 读取数据时列表字段较长时可以起别名,读取的数据列表字段以别名展示(可以给多个字段取别名,用逗号隔开)select “column字段名” as “别名” from “table名”select “column(字段名)” from “table名”;结果被存储在一个结果表中(称为结果集)。SELECT 语句用于从表中选取数据。SELECT * FROM 表名。-- 查询表的全部数据。-- 查询表中列的数据。原创 2023-07-14 11:45:28 · 555 阅读 · 0 评论 -
002 - table - 表
table是由column(列) 和row(行)组成,column主要是定义数据类型,row是具体的数据;create table [table 名] +(列表字段以及字段类型);SHOW COLUMNS FROM 表名。-- 查询当前数据库所有表。DROP TABLE 表名。原创 2023-07-14 11:34:27 · 84 阅读 · 0 评论 -
001- database - 数据库
1、新的数据库进入默认有四个数据库,一般不要轻易删除;CREATE DATABASE 数据库名。DROP DATABASE 数据库名。-- 查询当前使用的数据库。-- USE 数据库名。-- 查询所有数据库。原创 2023-07-14 11:29:24 · 525 阅读 · 0 评论