sql单表运用11.3

一、进入数据库操作界面

1、mysql -u  root  -p   敲回车  ,输入密码  ,进入数据库操作界面

2、show  databases   查看所有的数据(如果没有数据库:创建数据库  create  database 库名称)

3、use   数据库名     使用数据库

4、show tables  显示库中的所有表

5、建表语句

格式: create table 表名(字段名1  字符类型(字符长度),字段名2   字符类型(字符长度));

 案例:create table aa(id  int(10),name varchar(20));

6、查看表结构:

desc  表名

案例:

 7、在navicat 中===点击库名====点击查询====新建查询=====在新建查询中输入sql语句

8、插入数据:

(1)插入方式一:

格式:INSERT INTO   表名  VALUES(值1,值2);

案例:INSERT INTO  aa  VALUES(1,"aa");

 (2)插入方式二:(插入部分字段)

格式:INSERT into 表名(字段名)  VALUES(字段值)

案例:INSERT into aa(id)  VALUES("4")

 (3)插入的中文字符变成?号

解决方案:

在建表时的语句后面添加:

DEFAULT charset=utf8;

案例:create  table  cc(cid int(5),cname char(20))DEFAULT charset=utf8;

 9、删除表格

drop   table  表名

案例:drop  table  yy ;

 ==============================

二、数据类型

1、数值类型

int     存储类型

float   浮点数

2、字符类型

char

varchar

3、时间类型

date

time

datetime

year

 注意字符的长度:

int(20)

varchar(20)

======================================

约束:

约束用于对表中字段进行限制,保证表中数据的正确性和唯一性

1、primary  key  主键约束

非空,唯一,用于唯一标识的记录,类似身份证。

一个表中只用一个主键

2、not  null   非空约束

3、  unique 唯一索引

保证字段值具有唯一性,并且能为空,一个表中可以有多个唯一索引

4、default  默认值约束

定义:默认给字段指定默认值

5、auto_increment  自增长约束(一般都是和主键同时使用)

作用:在整数类型,字段默认值从1开始自增

(1)一般和主键约束一起使用,主要针对id

(2)每插入一条数据,就是在字段上自动+1,

 =========================================

1、新建表

表结构的操作:

2、add 添加字段

格式:ALTER TABLE   表名 add 字段名   字符类型(字符长度);

案例:ALTER TABLE  student2  add dcs int(20);

 3、change 修改字段

格式:ALTER TABLE   表名 change  旧字段名    新字段名   字符类型(字符长度);

案例:ALTER  table  student2 change   dcs  hzdcs int(19);

4、 drop 删除字段

格式:ALTER  table  表名 drop  字段名 ;

案例:ALTER  table  student2 drop  hzdcs ;

 5、rename  修改表名

 6、modify      after 字段的调换

格式:ALTER table  表格  MODIFY  变动的字段   字段类型(字段长度)  after  指定字段 ;

案例:ALTER table  hz  MODIFY math int(10)  after  id ;

 7、first  添加字段到第一位

格式:alter  table  表名  add  表字段   字符类型(字符长度)  first ;

案例:alter  table  hz  add  no int(20)  first ;

  =========================================

数据库汇中:增、删、改、查

一、查询语句:

(1)查询一个表中的所有数据

格式:select *  from    表名 ;  *  表示所有的字段

案例:select *  from  hz ;

 (2)查询部分字段(多个字段用,分割)

格式:select   字段1,字段2  from  hz ;

案例:select id,name   from  hz ;

(3)查询字段可以通过as 取别名

格式:

案例1( as写,):

select  id as " 编号",name as "姓名"  from  hz ;

案例2(可以省略 as不写):

select  id  " 编号",name  "姓名"  from  hz ;

 

 (4)指定条件查询内容:

where +条件

条件1:

比较运算:>,<,=,!=,<>,>=,<=

条件2:

and ,or  ,between ....and  ,in  , is  not  null  

案例1:= 等于

select  id  ,name  from  hz  where id=1;

案例2:> 大于

select  id  ,name  from  hz  where id>1;

案例3:<小于

select  id  ,name  from  hz  where id<2;

案例4:<=小于等于

select  id  ,name  from  hz  where id<=2;

(5)

案例5:>=大于等于

select  id  ,name  from  hz  where id>=2;

(6)!=不等于

案例6:select id ,name from hz where id != 2;

(7)<>不等于

select  id  ,name  from  hz  where id <> 2;

================================

(8)and 同时满足条件

案例8; and   是同时满足多个条件

select  id  ,name,math  from  hz  where id > 2 and   math>90;

(9)or  只要满足其中一个条件 就显示

select  id  ,name,math  from  hz  where id > 6   or math>90;

(10)between  。。。and   在什么范围之间  

案例:select  * from  hz  where id   BETWEEN 3 and 6 ;

备注:包含了本身,

(11)in   在一组数据中选择(在数据汇总匹配)

案例:select  * from  hz  where id   in (1,3,8)

(12)not  in  不在一组数据中选

案例:select  * from  hz  where id  NOT in (1,3,8)

(13)is  null  为空的数据

select  * from  hz  where class  is null;

(14)is  not  nu  不为空的数据

select  * from  hz  where class  is  not  null;

==========================================

order  by  排序

(1)降序 (大到小)

order  by          desc

案例:select  * from  hz order by  id  desc ;

(2)升序(小到大)

asc  或不写

案例:

select * from hz order by id asc ;
select * from hz order by id ;

 (3)二次排序

案例:select  * from  hz order by  math desc  ,id desc;

 =====================

like  模糊匹配查询

%:表示匹配1个字符或多个字符

_ : 下滑线表示一个字符

案例1:匹配xx开头的数据

select * from hz where math like "7%"; # 匹配7开头的数据

案例2:匹配xx结尾数据
select * from hz where math like "%7"; #匹配7结尾的数据

案例3:匹配含有xx结尾数据
select * from hz where math like "%7%"; #匹配含有7的数据

案例4:匹配指定位数的数据
select * from hz where math like "7_"; #匹配具体位数的数据

 =====================

limit (索引位,步长)   显示指定的数据,限制;

根据索引位置来取值,从0开始,一个表第一行的索引就是0,第二行就是1

select * from hz limit 2; #表示取两行数据, 2 表示步长

select * from hz limit 1,2#表示从索引1开始第二行,2表示步长2行
select * from hz limit 4,3 ;# 表示从索引4开始取值,第五行开始,取三行,

 =====================

sql 聚合函数

max  最大数

案例1:select max(math) from hz ;

min最小数

案例2:select  min(math) from  hz ;

avg 平均值

案例3:

select  avg(math) from  hz ;

sum 求和

案例4:

select  sum(math) from  hz ;

count  统计

案例5:select  count(math) from  hz ;

distinct 去重

案例6:

select  DISTINCT(math) from  hz ;

 ==================

group  by    .......  having 

group by  是分组,一般不会单独使用,通常和聚合函数组合使用

案例1:分组

select  sum(math),class from  hz GROUP BY  class ;

案例2:分组 在条件 having  

(1)select sum(math) s,class from hz GROUP BY class having s>200 ;

(2)select  sum(math) s,class from  hz GROUP BY  class having sum(math)>200 ;

注意:having 一般接在group by 后面

 ==================

改:

update     ......set......

格式:update 表名 set 字段名=新值 where条件;

案例:update hz  set id=1 where id=9;

 ==================

删除:

(1)delete 

格式:DELETE  from  表名  where  条件;

DELETE  from  hz  where id=1;

(2)  truncate  快速删除数据
格式:

truncate    表名 ;

案例:

truncate  ff ;

(3)drop  删除

格式:drop  table    表名

案例:drop   table   emp ;

drop >truncate> delete

 ==================

单行注释:ctrl +/  

取消注释:shift+ctrl+/

多行注释:选中多行 ,ctrl +/  

取消注释:选中多行    shift+ctrl+/

===============================

备份:

(1)备份表结构:

格式:create    table   新表名  like   旧表名;

create    table   emp_new  like  emp;

 (2)备份表数据

格式:

INSERT into  新表结构  select  * from   旧表有数据  ;

案例:

INSERT into  emp_new  select  * from  emp ;

 

 (3)备份部分数据

格式:INSERT into    表名(字段1,字段2)  select  字段1,字段2 from  旧表 ;

案例:INSERT into  emp2(sid,name)  select  sid ,name from  emp ;

(4)备份表结构和数据

格式:

create  table    新表   as (select * from   原表);

案例:create  table  hh as (select * from  emp);

 =========================================================================

在linux 中:

备份:

格式:mysqldump  -u root -p     原库>新sql脚本名

案例:mysqldump  -u root -p  hz017>/home/hz17.sql

还原:

 还原:

格式:mysql  -u  root -p           新库<备份好的脚本

案例:mysql  -u  root -p  new</home/hz17.sql

分类: 教学笔记

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/720233.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件工程顶会——ICSE '24 论文清单、摘要

1、A Comprehensive Study of Learning-based Android Malware Detectors under Challenging Environments 近年来&#xff0c;学习型Android恶意软件检测器不断增多。这些检测器可以分为三种类型&#xff1a;基于字符串、基于图像和基于图形。它们大多在理想情况下取得了良好的…

为啥要用C艹不用C?

在很多时候&#xff0c;有人会有这样的疑问 ——为什么要用C&#xff1f;C相对于C优势是什么&#xff1f; 最近两年一直在做Linux应用&#xff0c;能明显的感受到C带来到帮助以及快感 之前&#xff0c;我在文章里面提到环形队列 C语言&#xff0c;环形队列 环形队列到底是怎么回…

NLP_文本数据分析_3(代码示例)

目标 了解文本数据分析的作用.掌握常用的几种文本数据分析方法. 1 文件数据分析介绍 文本数据分析的作用: 文本数据分析能够有效帮助我们理解数据语料, 快速检查出语料可能存在的问题, 并指导之后模型训练过程中一些超参数的选择. 常用的几种文本数据分析方法: 标签数量分布句…

场景问题: VisualVM工具Profiler JDBC不是真实执行的SQL

1. 问题 诡异的问题表象&#xff1a; 前端反馈分页接口的Total字段一直为0 使用Visualvm中的 Profiler 注入到应用后&#xff0c;查看JDBC监控得到了分页接口执行的SQL&#xff0c;复制出来执行是55. 此时还没有注意到 IN 的范围中有一个特别的值 NULL &#x1f928; 2. 排查…

视觉Transformers中的位置嵌入 - 研究与应用指南

视觉 Transformer 中位置嵌入背后的数学和代码简介。 自从 2017 年推出《Attention is All You Need》以来&#xff0c;Transformer 已成为自然语言处理 (NLP) 领域最先进的技术。 2021 年&#xff0c;An Image is Worth 16x16 Words 成功地将 Transformer 应用于计算机视觉任务…

idea中引入新JDK环境

在不同的项目中往往会需要不同的运行环境&#xff0c;那么如何下载一个新的环境并运用到idea中呢&#xff1f; 下面给出的就是oracle官网&#xff0c;以JDK17为例教大家如何下载 Java Archive Downloads - GraalVM for JDK 17https://www.oracle.com/java/technologies/javase…

Python数据可视化库之bashplotlib使用详解

概要 在数据可视化领域,Python拥有许多优秀的库,如Matplotlib、Seaborn等,它们可以创建漂亮而复杂的图形。但是,有时候我们可能需要在终端中绘制简单的图形,这时候Bashplotlib就派上了用场。Bashplotlib是一个Python库,可以在终端中绘制基本的图形,如条形图、散点图等。…

YOLOV9训练集制作+Train+Val记录

一、YOLO数据集格式分布 在YOLO中&#xff0c;数据集的分布如图&#xff0c;在dataset文件夹下有imags&#xff08;图片&#xff09;和labels&#xff08;标签&#xff09;。在images和labels文件夹下又分别存放三个文件夹&#xff0c;分别对应测试集、训练集、验证集&#xff…

使用postman测试若依其他业务接口API—3

请求方式 如上&#xff0c;使用Get请求来获取练习题库中的所有习题数据。 请求地址 在请求路径栏输入请求地址&#xff0c;以下图为例&#xff1a; 参数体与鉴权 在Parms键入所需参数&#xff0c;其中key为键,value为键的值&#xff1a;如下图所示&#xff1a; 认证成功与失…

持续集成(CICD)- gogs仓库的部署和使用

文章目录 一、gogs的介绍二、部署gog仓库三、首次启动gogs四、登录五、创建一个非空仓库六、从仓库拉取代码到本地七、把本地编辑的代码上传到仓库 一、gogs的介绍 Gogs作为一个轻量级、易于部署和使用的自托管Git服务&#xff0c;为小型团队和个人开发者提供了一个简单而强大…

【AIGC】如何提高Prompt准确度

前言 随着人工智能的迅猛进展&#xff0c;AIGC&#xff08;通用人工智能聊天工具&#xff09;已成为多个行业中不可或缺的自然语言处理技术。Prompt作为AIGC系统的一项关键功能&#xff0c;在工具的有效运作中发挥了举足轻重的作用。本篇文章将深入探讨Prompt与AIGC之间的紧密…

python笔记_程序流程控制2

C&#xff0c;循环控制 1&#xff0c;for循环 功能&#xff1a;让代码循环运行 语法&#xff1a; for <变量> in <范围、序列>&#xff1a; <循环操作语句> 例 nums &#xff08;1,2,3,4&#xff09; <class list> for i in nums&#xff1a; print&…

Java中文件的相关知识及文件IO操作

在我们日常生活中&#xff0c;会把许多东西都称之为文件。比如&#xff0c;一份纸质报告&#xff0c;或u盘中的一些文档&#xff0c;都会把它们称为文件。那么&#xff0c;这里说的文件是以操作系统的角度出发的。在操作系统中&#xff0c;会把许多硬件设备和软件资源都抽象成“…

机器学习:主成分分析笔记

主成分分析&#xff08;Principal Component Analysis&#xff0c;PCA&#xff09;是一种无监督的机器学习算法&#xff0c;通常用于高维数据的降维、提取主要特征、数据降噪和可视化。PCA的基本思想是将原始数据的多个变量转换为少数几个相互独立的变量&#xff08;即主成分&a…

shadertoy 游戏《来自星尘》摇杆复刻

正确的做法应该是上 noise 而不是叠加 sin 波&#xff0c;不过如果不想麻烦的话叠波还是一个不错的选择&#xff1a;整体效果如下&#xff0c;已经非常形似 直接上链接&#xff1a;Shader - Shadertoy BETA float radiusScale 0.9; float variation(vec2 v1, vec2 v2, float …

传感器---触摸传感器

一、模块选型概述 芯片型号&#xff1a;TTP223B 供电电压&#xff1a;3-5V 控制接口&#xff1a;共三个引脚&#xff08;GND、VCC、SIG&#xff09;&#xff0c;GND为地&#xff0c;VCC为供电电源&#xff0c;SIG为数字信号输出脚&#xff1b; PCB尺寸&#xff1a;24 x 24 mm 触…

Linux中服务端开发

1 创建socket,返回一个文件描述符lfd---socket(); 2 将lfd和IP&#xff0c;PROT进行绑定---bind(); 3 将lfd由主动变成被动监听---listen(); 4 接收一个新的连接&#xff0c;得到一个的文件描述符cfd--accept() --该文件描述符用于与客户端通信 5 while(1) { 接受数据&a…

网络安全: Kali Linux 使用 docker-compose 部署 openvas

目录 一、实验 1.环境 2.Kali Linux 安装docker与docker-compose 3.Kali Linux 使用docker-compose方式部署 openvas 4. KaliLinux 使用openvas 二、问题 1. 信息安全漏洞库 2.信息安全漏洞共享平台 3.Windows 更新指南与查询 4.CVE 查询 5.docker-compose 如何修改o…

前后端分离项目Docker部署指南(上)

目录 前言 一.搭建局域网 1.搭建net-ry局域网&#xff0c;用于部署若依项目 2.注意点 二.安装redis 创建目录 将容器进行挂载 ​编辑 测试是否安装成功 ​编辑 三. 安装MySQL 创建文件夹 上传配置文件并且修改 .启动MySQL容器服务 充许远程连接 四.部署后端 使用…

LLVM clang_tokenize 的示例

1&#xff0c; 环境搭建 如同上篇 git clong llvm-project git checkout llmvorg-3.4.0 # or llvmorg-18.1.rc /bin/bash ./confiure --prefix....... # or cmake Debug make -j32 make -j install 2&#xff0c; 示例代码 Makefile&#xff1a;如同上篇 LLVM_CON…