怎么下载浏览器里的视频,宁波seo推广平台,企业如何建设网站呢,宜昌网站建设设计目录 数据库
MySQL的常用数据类型 1.数值类型#xff1a;
2.字符串类型
3.日期类型
MySQL简单的增删改查
1.插入数据#xff1a; 2.查询数据#xff1a;
3.修改语句#xff1a;
4.删除语句#xff1a; 数据库 平时我们使用的操作系统都把数据存储在文件中#…目录 数据库
MySQL的常用数据类型 1.数值类型
2.字符串类型
3.日期类型
MySQL简单的增删改查
1.插入数据 2.查询数据
3.修改语句
4.删除语句 数据库 平时我们使用的操作系统都把数据存储在文件中但是文件存储数据有以下几个缺点1.文件的安全性问题2.文件不利于数据查询和管理3.文件不利于存储海量数据4.文件在程序中控制不方便。为了解决上面这些问题专家们设计了一种专门用于管理数据的软件--数据库。 数据库DB 是长期储存在计算机内、有组织的、可共享的大量数据的集合 数据库管理系统DBMS DBMS是一个大型复杂的基础软件系统位于用户与操作系统之间的一层数据管理软件。 数据库系统DBS 数据库系统由数据库、数据库管理系统及其应用开发工具、应用程序、数据库管理员四部分构成。 数据库根据是否以二维表存储数据划分为关系型数据库和非关系型数据库。
关系型数据库非关系型数据库使用SQL是不强制要求一般不基于SQL实现事务支持支持不支持复杂操作支持不支持海量读写操作效率低效率高基本结构基于表和列结构固定灵活性较高 现在比较知名的关系型数据库有甲骨文的OracleMySQL微软的SQL Server等。
MySQL的常用数据类型 1.数值类型
分为整形和浮点型
数据类型大小说明对应Java类型BIT[(M)]M指定位数默认为1二进制数M范围从1到64存储数值范围从0到2^M-1Boolean默认M为1.TINYINT1字节ByteSMALLINT2字节ShortINT4字节IntegerBIGINT8字节LongFLOAT(M,D)4字节单精度M指定长度D指定小数位数。会发生精度丢失FloatDOUBLE(M,D)8字节DoubleDECIMAL(M,D)M/D最大值2双精度M指定长度D表示小数点位数。精确数值BigDecimalNUMERIC(M,D)M/D最大值2同DECIMALBigDecimal
数值类型可以指定为无符号表示不取负数。1字节表示8bit。
2.字符串类型
数据类型大小说明对应Java类型VARCHAR(SIZE)0-65535字节可变长度字符串StringTEXT0-65535字节长文本数据StringMEDIUMTEXT0-16777215字节中等长度文本数据StringBLOB0-65535字节二进制形式的长文本数据byte[]
3.日期类型
数据类型大小说明对应Java类型DATETIME8字节范围从1000到9999年不会进行时区的检索及转换 java.util.Date 、 java.sql.Timestamp TIMESTAMP4字节范围从1970到2038自动检索当前时区并进行转换 java.util.Date 、 java.sql.Timestamp
MySQL简单的增删改查
增删改查即CRUD新增数据查询数据修改数据删除数据。数据库的增删改查操作将会是我们在今后操作中遇到的最频繁的工作内容也是最基础最核心的业务所以我们必须熟练掌握数据库的增删改查相关代码。
下面我来演示一下相关操作 这是当前我电脑已经存在的数据库。 使用下面代码创建一个student表
-- 创建一张学生表
DROP TABLE IF EXISTS student;
CREATE TABLE student (id INT,sn INT comment 学号,name VARCHAR(20) comment 姓名,qq_mail VARCHAR(20) comment QQ邮箱
); 1.插入数据 注意MySQL在执行语句时不区分大小写。下面往表中插入数据
INSERT INTO student VALUES (100, 10000, 唐三藏, NULL);
INSERT INTO student VALUES (101, 10001, 孙悟空, 11111);//插入多行数据
INSERT INTO student (id, sn, name) VALUES(102, 20001, 曹孟德),(103, 20002, 孙仲谋); 2.查询数据 基本语法 SELECT [ DISTINCT ] {* | {column [, column ] ...} [ FROM table_name ] [ WHERE ...] [ ORDER BY column [ ASC | DESC ], ...] LIMIT ... 2.1全列查询
//通常情况下不建议使用*进行全列查询
//1.查询的列越多意味着需要传输的数据量越大
//2. 可能会影响到索引的使用。
SELECT * FROM exam_result;
2.2指定列查询
//指定列的顺序不需要按定义表的顺序来
SELECT id, name, english FROM exam_result;
2.3查询字段可以为表达式
-- 表达式不包含字段
SELECT id, name, 10 FROM exam_result;
-- 表达式包含一个字段
SELECT id, name, english 10 FROM exam_result;
-- 表达式包含多个字段
SELECT id, name, chinese math english FROM exam_result;
2.4为查询结果中的列指定别名语法格式如下
SELECT column [AS] alias_name [...] FROM table_name;
2.5使用distinct关键字去重
SELECT math FROM exam_result;
--------
| math |
--------
| 98 |
| 78 |
| 98 |
| 84 |
| 85 |
| 73 |
| 65 |
--------
7 rows in set (0.00 sec)
-- 去重结果
SELECT DISTINCT math FROM exam_result;
--------
| math |
--------
| 98 |
| 78 |
| 84 |
| 85 |
| 73 |
| 65 |
--------
6 rows in set (0.00 sec)
2.6使用order by关键字进行排序
语法
-- ASC 为升序从小到大
-- DESC 为降序从大到小
-- 默认为 ASC
SELECT ... FROM table_name [WHERE ...] ORDER BY column [ASC|DESC], [...]; 1. 没有 ORDER BY 子句的查询返回的顺序是未定义的永远不要依赖这个顺序 2. NULL 数据排序视为比任何值都小升序出现在最上面降序出现在最下面 3. 使用 表达式 及 别名 排序 -- 查询同学及总分由高到低
SELECT name, chinese english math FROM exam_result ORDER BY chinese english math DESC;
SELECT name, chinese english math total FROM exam_result ORDER BY total DESC; 4. 可以对多个字段进行排序排序优先级随书写顺序 -- 查询同学各门成绩依次按 数学降序英语升序语文升序的方式显示
SELECT name, math, english, chinese FROM exam_result ORDER BY math DESC, english, chinese;2.7使用where关键字进行条件查询 -- 查询英语不及格的同学及英语成绩 ( 60 )
SELECT name, english FROM exam_result WHERE english60;SELECT * FROM exam_result WHERE chinese 80 or math70 and english 70;
SELECT * FROM exam_result WHERE (chinese 80 or math70) and english 70;SELECT name, chinese FROM exam_result WHERE chinese BETWEEN 80 AND 90;//模糊查询 like
-- % 匹配任意多个包括 0 个字符
SELECT name FROM exam_result WHERE name LIKE 孙%;-- 匹配到孙悟空、孙权
-- _ 匹配严格的一个任意字符
SELECT name FROM exam_result WHERE name LIKE 孙_;-- 匹配到孙权 2.8分页查询关键字limit语法如下 -- 起始下标为 0
-- 从 0 开始筛选 n 条结果
SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT n;
-- 从 s 开始筛选 n 条结果
SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT s, n;
-- 从 s 开始筛选 n 条结果比第二种用法更明确建议使用
SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT n OFFSET s; 3.修改语句 语法 UPDATE table_name SET column expr [, column expr ...][WHERE ...] [ORDER BY ...] [LIMIT ...] 案例 -- 将孙悟空同学的数学成绩变更为 80 分
UPDATE exam_result SET math 80 WHERE name 孙悟空;
-- 将曹孟德同学的数学成绩变更为 60 分语文成绩变更为 70 分
UPDATE exam_result SET math 60, chinese 70 WHERE name 曹孟德;
-- 将总成绩倒数前三的 3 位同学的数学成绩加上 30 分
UPDATE exam_result SET math math 30 ORDER BY chinese math english LIMIT
3;
-- 将所有同学的语文成绩更新为原来的 2 倍
UPDATE exam_result SET chinese chinese * 2; 4.删除语句 语法 DELETE FROM table_name [WHERE ...] [ORDER BY ...] [LIMIT ...]案例 -- 删除孙悟空同学的考试成绩
DELETE FROM exam_result WHERE name 孙悟空;
-- 删除整张表数据
-- 准备测试表
DROP TABLE IF EXISTS for_delete;
CREATE TABLE for_delete (id INT,name VARCHAR(20)
);
-- 插入测试数据
INSERT INTO for_delete (name) VALUES (A), (B), (C);
-- 删除整表数据
DELETE FROM for_delete; 主页已更新完Java基础内容数据结构基础 正在更新算法篇数据库篇 未来会更新Java项目SpringBootRedis以及各种Java路线会用到的技术。 求点赞求收藏求评论求关注 谢谢大家