MySQL数据库(2)
目录
日期类型的基本使用
timestamp时间戳
修改表
insert基本使用
insert注意事项
update基本使用
update注意事项
delete基本使用
delete注意事项
select基本使用
select练习1
select练习2
select练习3
日期类型的基本使用
timestamp时间戳
在5.7版本使用时间戳需要进行配置,配置后才可以使用,后期即使不对该字段进行更新,对其他字段进行更新也会更新时间
TimeStamp在Insert和update时,自动更新
代码演示:
#演示时间相关的类型
#创建一张表, date , datetime , timestamp
CREATE TABLE t14 (birthday DATE , -- 生日job_time DATETIME, -- 记录年月日 时分秒login_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP); -- 登录时间, 如果希望login_time列自动更新, 需要配置SELECT * FROM t14;
INSERT INTO t14(birthday, job_time) VALUES('2022-11-11','2022-11-11 10:10:10');
-- 如果我们更新 t14表的某条记录,login_time列会自动的以当前时间进行更新
修改表
修改字段数据类型
ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] [FIRST|AFTER 已存在的字段名];
删除字段
ALTER TABLE <表名> MODIFY <字段名> <数据类型>
修改字段名
ALTER TABLE <表名> DROP <字段名>;
修改表名
ALTER TABLE <旧表名> RENAME [TO] <新表名>;
代码演示:
-- 员工表emp的上增加一个image列,varchar类型(要求在resume后面)
#这句话表示,在emp这个表中增加一列 列名为image 类型是varchar 不允许为空值,默认给一个空串 增加在resume后
ALTER TABLE emp ADD image VARCHAR(32) NOT NULL DEFAULT ' ' AFTER RESUME;
DESC emp
-- 修改iob列,使其长度为60。
ALTER TABLE emp MODIFY job VARCHAR(60) NOT NULL DEFAULT ' ';
-- 删除sex列。
ALTER TABLE emp DROP sex ;
-- 表名改为employee。
RENAME TABLE emp TO employee
DESC employee
-- 修改表的字符集为utf8
ALTER TABLE employee CHARACTER SET utf8
-- 列名name修改为user name
#修改employee这张表的name列名修改成uesr_name 不允许为空 默认值为空
ALTER TABLE employee CHANGE `name` `user_name` VARCHAR(64) NOT NULL DEFAULT ' ';
insert基本使用
代码演示:
#练习insert 语句
-- 创建一张商品表goods (id int , goods_name varchar(10), price double );
-- 添加2条记录
CREATE TABLE `goods` (id INT , goods_name VARCHAR(10) , price DOUBLE);
-- 添加数据
INSERT INTO `goods`(id , goods_name , price)VALUES(1,'华为手机',1000);INSERT INTO `goods`(id , goods_name , price)VALUES(2,'苹果手机',2000);SELECT * FROM goods
insert注意事项
1.插入的数据应与字段的数据类型相同比如 把abc'添加到 int 类型会错误
2.数据的长度应在列的规定范围内,例如: 不能将一个长度为80的字符串加入到长度为40的列中
3.在values中列出的数据位置必须与被加入的列的排列位置相对应
4.字符和日期型数据应包含在单引号中。
5.列可以插入空值[前提是该字段允许为空],insert into table value(null)
6.insert into tab name(列名..) values ()()()形式添加多条记录
7.如果是给表中的所有字段添加数据,可以不写前面的字段名称
8.默认值的使用,当不给某个字段值时,如果有默认值就会添加],否则报错
代码演示:
#说明insert 语句的细节
-- 1.插入的数据应与字段的数据类型相同。
-- 比如 把 'abc' 添加到 int 类型会错误
INSERT INTO `goods` (id, goods_name, price) VALUES('韩顺平', '小米手机', 2000);
-- 2. 数据的长度应在列的规定范围内,例如:不能将一个长度为80的字符串加入到长度为40的列中。
INSERT INTO `goods` (id, goods_name, price) VALUES(40, 'vovo手机vovo手机vovo手机vovo手机vovo手机', 3000);
-- 3. 在values中列出的数据位置必须与被加入的列的排列位置相对应。
INSERT INTO `goods` (id, goods_name, price) -- 不对VALUES('vovo手机',40, 2000);
-- 4. 字符和日期型数据应包含在单引号中。
INSERT INTO `goods` (id, goods_name, price) VALUES(40, vovo手机, 3000); -- 错误的 vovo手机 应该 'vovo手机'
-- 5. 列可以插入空值[前提是该字段允许为空],insert into table value(null)
INSERT INTO `goods` (id, goods_name, price) VALUES(40, 'vovo手机', NULL);
-- 6. insert into tab_name (列名..) values (),(),() 形式添加多条记录
INSERT INTO `goods` (id, goods_name, price) VALUES(50, '三星手机', 2300),(60, '海尔手机', 1800);
-- 7. 如果是给表中的所有字段添加数据,可以不写前面的字段名称
INSERT INTO `goods` VALUES(70, 'IBM手机', 5000);
-- 8. 默认值的使用,当不给某个字段值时,如果有默认值就会添加默认值,否则报错-- 如果某个列 没有指定 not null ,那么当添加数据时,没有给定值,则会默认给null-- 如果我们希望指定某个列的默认值,可以在创建表时指定
INSERT INTO `goods` (id, goods_name) VALUES(80, '格力手机');SELECT * FROM goods;INSERT INTO `goods2` (id, goods_name) VALUES(10, '菠萝手机');
SELECT * FROM goods2;
update基本使用
代码演示:
-- 演示update语句
-- 要求: 在上面创建的employee表中修改表中的纪录
-- 1. 将所有员工薪水修改为5000元。[如果没有带where 条件,会修改所有的记录,因此要小心]
UPDATE employee SET salary = 5000
-- 2. 将姓名为 小妖怪 的员工薪水修改为3000元。
UPDATE employee SET salary = 3000 WHERE user_name = '小妖怪'
-- 3. 将 老妖怪 的薪水在原有基础上增加1000元
INSERT INTO employee VALUES(200, '老妖怪', '1990-11-11', '2000-11-11 10:10:10', '按摩', 5000, '给大王按摩', 'd:\\a.jpg');UPDATE employee SET salary = salary + 1000 WHERE user_name = '老妖怪' -- 可以修改多个列的值
UPDATE employee SET salary = salary + 1000 , job = '军师'WHERE user_name = '老妖怪'
SELECT * FROM employee;
update注意事项
1.UPDATE语法可以用新值更新原有表行中的各列。
2.SET子句指示要修改哪些列和要给予哪些值。
3.WHERE子句指定应更新哪些行。如没有WHERE子句,则更新所有的行(记录),因此提醒一定小心
4.如果需要修改多个字段,可以通过 set 字段1=值1,字段2=值2....
delete基本使用
代码演示:
-- delete 语句演示-- 删除表中名称为’老妖怪’的记录。
DELETE FROM employee WHERE user_name = '老妖怪';
-- 删除表中所有记录,一定要小心
DELETE FROM employee;-- Delete语句不能删除某一列的值(可使用update 设为 null 或者 '')
UPDATE employee SET job = '' WHERE user_name = '老妖怪';SELECT * FROM employee-- 要删除这个表
DROP TABLE employee;
delete注意事项
1.如果不使用where子句,将删除表中所有数据。
2.Delete语句不能删除某一列的值 (可使用update 设为 null 或者)
3.使用delete语句仅删除记录,不删除表本身。如要删除表,使用drop table语句。drop table 表名;
select基本使用
注意事项(创建测试表学生表
Select 指定查询哪些列的数据
column指定列名。*号代表查询所有列。From指定查询哪张表DISTINCT可选,指显示结果时,是否去掉重复数据
select练习1
代码演示:
****创建新的表(student)********
CREATE TABLE student(id INT NOT NULL DEFAULT 1,NAME VARCHAR(20) NOT NULL DEFAULT '',chinese FLOAT NOT NULL DEFAULT 0.0,english FLOAT NOT NULL DEFAULT 0.0,math FLOAT NOT NULL DEFAULT 0.0
);INSERT INTO student(id,NAME,chinese,english,math) VALUES(1,'韩顺平',89,78,90);
INSERT INTO student(id,NAME,chinese,english,math) VALUES(2,'张飞',67,98,56);
INSERT INTO student(id,NAME,chinese,english,math) VALUES(3,'宋江',87,78,77);
INSERT INTO student(id,NAME,chinese,english,math) VALUES(4,'关羽',88,98,90);
INSERT INTO student(id,NAME,chinese,english,math) VALUES(5,'赵云',82,84,67);
INSERT INTO student(id,NAME,chinese,english,math) VALUES(6,'欧阳锋',55,85,45);
INSERT INTO student(id,NAME,chinese,english,math) VALUES(7,'黄蓉',75,65,30);SELECT * FROM student-- 查询表中所有学生的信息。
SELECT * FROM student;
-- 查询表中所有学生的姓名和对应的英语成绩。
SELECT `name`,english FROM student;
-- 过滤表中重复数据 distinct 。
SELECT DISTINCT english FROM student;
-- 要查询的记录,每个字段都相同,才会去重
SELECT DISTINCT `name`, english FROM student;
select练习2
代码演示:
-- select 语句的使用-- 统计每个学生的总分
SELECT `name`, (chinese+english+math) FROM student;
-- 在所有学生总分加10分的情况
SELECT `name`, (chinese + english + math + 10) FROM student;
-- 使用别名表示学生分数。
SELECT `name` AS '名字', (chinese + english + math + 10) AS total_score FROM student;#使用AS可以设置别名 比如`name` AS '名字'这句话执行之后,查询出来的表,后面name就会以名字显示
select练习3
代码演示:
-- 1,查询姓名为赵云的学生成绩
SELECT * FROM student WHERE `name`='赵云'
-- 2查询英语成绩大于90分的同学
SELECT * FROM student WHERE english>90
-- 3查询总分大于200分的所有同学
SELECT * FROM student WHERE (chinese + english + math) > 200-- 使用where子句,课堂练习[5min]:
-- 查询math大于60 并且(and) id大于4的学生成绩
SELECT * FROM student WHERE math > 60 AND id > 4
-- 查询英语成绩大于语文成绩的同学
SELECT * FROM student WHERE english > chinese
-- 查询总分大于200分 并且 数学成绩小于语文成绩,的姓赵的学生.
#赵% 表示 名字以赵开头的就可以
SELECT * FROM student WHERE (chinese + english + math) > 200 AND math < chinese AND `name` LIKE '赵%'-- 1,查询英语分数在 80 - 90之间的同学
SELECT * FROM student WHERE english BETWEEN 80 AND 90
-- 2查询数学分数为89,90,91的同学
SELECT * FROM student WHERE math IN(89,90,91)
-- 3查询所有姓李的学生成绩。
SELECT * FROM student WHERE `name` LIKE '李%'
-- 4.查询数学分>80,语文分>80的同学。
SELECT * FROM student WHERE math > 80 AND chinese > 80-- 1。查询语文分数在 70- 80之间的同学
SELECT * FROM student WHERE chinese BETWEEN 70 AND 80
-- 2.查询总分为189,190,191的同学。
SELECT * FROM student WHERE (chinese + english +math) IN(189,190,191)
-- 3.查询所有姓李 或者 姓宋 的学生成绩
SELECT * FROM student WHERE `name` LIKE '李%' OR `name` LIKE '宋%'
-- 4.查询数学比语文多30分的同学
SELECT * FROM student WHERE math - english >30UPDATE student SET math=1000 WHERE `name`='张飞'SELECT * FROM student
相关文章:
MySQL数据库(2)
目录 日期类型的基本使用 timestamp时间戳 修改表 insert基本使用 insert注意事项 update基本使用 update注意事项 delete基本使用 delete注意事项 select基本使用 select练习1 select练习2 select练习3 日期类型的基本使用 timestamp时间戳 在5.7版本使用时间戳需…...
2023年学什么编程语言,最容易找工作?
在众多行业中,程序员属于高薪职业。无论是在国外还是国内,程序员的薪金水平普遍高于其他行业的工作岗位,例如web前端开发、软件工程、游戏开发、APP开发、网络爬虫、网站开发、人工智能开发、网络维护、Java开发、大数据分析、Python开发等工…...
4月23日,今日信息差
1、京东健康皮肤医院正式上线 2、蚂蚁集团再捐1亿元支持内蒙古种树治沙 3、苹果MacBook组装商广达将投资1.2亿美元在越南建电脑制造厂 4、用友与百度签署战略合作协议 5、马斯克:星舰可能在一两个月后准备再次发射 6、格芯起诉IBM 恐波及日本2nm芯片计划 7、河北南部…...
【随笔四】JavaScript 中的 rest
某次开发中,看到项目代码中用到了 rest 这个参数,但又没看到在哪里定义或者传入,当时没太理解它的意思,查了下资料才恍然大悟。含义也很简单,写个随笔记录下。 关键字 rest 的用法(剩余参数) 在…...
maven作用讲解---以及怎么配置阿里的maven镜像
目录 Maven介绍 传统的java项目的结构和maven的对比 传统 Maven的项目 如何配置阿里 maven 2. 修改 Maven介绍 传统的java项目的结构和maven的对比 传统 Maven的项目 如何配置阿里 maven (1) 把 D:\program\JavaIDEA 2020.2\plugins\maven\lib\maven3\conf\settings.xml…...
NXP公司LPC21xx+热敏电阻实现温度检测
LPC2131/32/34/36/38微控制器基于16位/32位Arm7TDMI-S™CPU,支持实时仿真和嵌入式跟踪,具有尺寸小,功耗低,多个32位定时器、单/双10位8通道ADC、10位DAC、PWM通道、47个GPIO线(它们拥有多达9个边沿或电平触发的外部中断…...
Springboot信息泄露以及heapdump的利用
本文转载于https://blog.csdn.net/weixin_44309905/article/details/127279561 heapdump的利用 0x01 Springboot信息泄露 路由列表 0x02 下载heapdump0x03 利用heapdump的姿势 工具一:heapdump_tool工具二:Eclipse MemoryAnalyzer 0x01 Springboot信息…...
淘宝天猫店铺新品如何运营?
新品在店铺运营过程中是十分重要的部分,你知道新品在店铺运营中有何作用?了解新品运营机制吗?今天就来快速了解关于新品的知识点。 新品在店铺运营的角色: 01、商品生命周期有限 商品的普遍生命周期在3个月左右,3个…...
Linux-给普通用户sudo权限
给普通用户sudo权限 创建用户安装sudo组件设置sudo权限切换到 root 用户、以root用户登录修改 /etc/sudoers文件权限修改 /etc/sudoers文件 (主要步骤)保存退出将 /etc/sudoers写权限改回来结束 创建用户 useradd xwy //创建用户passwd xwy //为用户设置…...
小米13 Ultra:携光前行,追求每一束光的精确还原
“光,是影像的原点”,一切色彩、影调都在于光。我们目之所及的大千世界,皆被光与影一笔一划细细勾勒,为“视”界晕染上或鲜明、或复古、或反差、或梦幻的色调。我们用“光”去描绘、定义“影像”,让一切平凡的事物&…...
全志 Orange Pi相关网站集
Orange Pi 系统安装的常识 看到有教程说android系统需要用win32diskimager才能成功烧写运行镜像名称与版本的对应关系 ubuntu版本号代号16.04Xenial Xerus(好客的非洲地鼠)18.04Bionio Beaver (仿生海狸}20.04Focal Fossa (类似…...
js+css实现简单的弹框动画
效果图 只是一个简单的演示demo,但是可以后面可以优化样式啥的 刚开始元素的display为none,然后,为了给元素展示时添加一个动画,首先要添加样式类名show,让它覆盖display:none,变得可见。然后,添…...
真题详解(UML图)-软件设计(五十五)
真题详解(计算机知识)-软件设计(五十四)https://blog.csdn.net/ke1ying/article/details/130278265 组织域名: com商业组织 edu教育组织 gov政府组织 net主要网络支持中心 mil军事部门 Int国际组织 2、时间复杂度 O&#…...
基于html+css的图展示42
准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…...
MyBatis系列-入门篇
MyBatis入门 一:故事背景二:MyBatis 简介2.1什么是MyBatis2.1 MyBatis有什么好处 三:MyBatis 入门3.1使用SpringBoot集成MyBatis3.1.1 添加依赖3.1.2 配置数据源3.1.3 配置MyBatis3.1.4 创建Mapper接口和SQL映射文件3.1.5 注入Mapper接口 3.2…...
科学防雷接地和雷电防护方案
说到防雷,可能不少人首先会想到避雷针,而“避雷针”这一概念,很容易让大家对防雷的概念造成误解。 误解1: 避雷针是用来“避雷”的。 其实,避雷针的学名叫“接闪器”,不是用来“避开雷击”的,而是用来“迎…...
SpringMVC-RESTful架构风格
目录 RESTful架构风格 1、RESTful概述 2、RESTful的六大原则 3、RESTful的实现 4、HiddenHttpMethodFilter RESTful风格的CRUD 1、环境搭建 2、功能需求 3、功能:访问首页 4、功能:查询所有数据 5、功能:删除一条数据 6、功能&…...
consistency-starter
使用说明 建议在B端使用,不推荐C端使用 功能 事务提交之后推送MQ a. 当一个程序中有多个MQ需要推送时,可以在事务内任意位置调用发送MQ方法,而不会因为程序报错而导致数据不一致问题.事务提交之后发起子线程执行异步任务程序中灵活指定时间执行子任务 a. 例如:业务要求执行A业…...
【Json】Spring Boot整合Json与Json数组
Spring Boot整合Json与Json数组 文章目录 Spring Boot整合Json与Json数组一,引入依赖二,常见Json数据格式-2.1 Json格式-2.2 数组格式-2.3 Json数组格式 三,在Java中如何使用-3.1 Json格式-3.2 数组格式-3.3 Json数组格式 四,Json…...
Adobe Photoshop 软件下载
Adobe Photoshop,简称“PS”,是由Adobe Systems开发和发行的图像处理软件。Photoshop主要处理以像素所构成的数字图像。 时至今日,Adobe Photoshop 已经成为当今世界上最流行、应用最广泛的图像处理软件。不但设计专业的学生要系统的学习这个…...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...
C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...
【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...
R语言AI模型部署方案:精准离线运行详解
R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...
【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...
Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...
Java多线程实现之Thread类深度解析
Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...
dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...
