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.hqwc.cn/news/511409.html

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

相关文章

IDEA中Maven无法下载jar包问题解决

在项目中经常会遇到jar包无法下载的问题&#xff0c;可以根据以下几种方法进行排查。 1. 排查网络连接 网络连接失败&#xff0c;会导致远程访问Maven仓库失败&#xff0c;所以应确保网络连接正常。 2. 排查Maven的配置 Maven配置文件&#xff08;settings.xml&#xff09;…

交友盲盒系统PHP开源的盲盒源码

源码介绍&#xff1a; 交友盲盒系统是一款基于PHP开发的开源免费盲盒系统&#xff0c;旨在为用户提供一个充满乐趣和惊喜的社交体验。该系统具有丰富的功能和灵活的扩展性&#xff0c;可以轻松地满足各种线上交友、抽奖活动等场景的需求。 安装说明&#xff1a; PHP版本&…

基于springboot+vue线上教育平台管理系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现线上教育平台管理系统演示 摘要 本文讲述了使用SSM框架及My Sql数据库技术开发的线上教育网站的设计与实现。本系统是一个可以让学生进行在线学习的网站&#xff0c;众所周知&#xff0c;计算机专业的难度是比较高的&#xff0c;如果只通过在课堂上的学习&a…

【性能测试】Jmeter性能压测-阶梯式/波浪式场景总结(详细)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、阶梯式场景&am…

docker 安装 portainer

小编给友友们总结了一下 Portainer 的好处以下 Portainer是Docker的图形化管理工具&#xff0c;提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作&#xff08;包括上传下载镜像&#xff0c;创建容器等操作&#xff09;、事件日志显示、容器控制台操作、Swar…

LiveGBS流媒体平台GB/T28181功能-集中录像存储前端设备录像回看解决方案设备录像|云端录像|实时录像说明

LiveGBS集中录像存储前端设备录像回看解决方案设备录像|云端录像|实时录像说明 1、平台概述2、视频录像2.1、设备录像2.1.1、存储位置2.1.1.1、下级硬件设备2.1.1.2、下级国标平台 2.1.2、页面操作2.1.2.1、国标设备2.1.2.1.1、查看通道2.1.2.1.1.1、设备录像 2.1.2.1.2、配置中…

VS2022连接数据库以及常用的连接函数

下面是如何配置以及设置VS2022连接数据库 第一步:打开mysql的安装目录&#xff0c;默认安装目录如下&#xff1a;C:\Program Files\MySQL\MySQL Server 8.0&#xff0c;确认 lib 目录和include 目录是否存在。 第二步&#xff1a;打开VS2019&#xff0c;新建一个空工程,控制台…

huggingface学习|controlnet实战:云服务器使用StableDiffusionControlNetPipeline生成图像

ControlNet核心基础知识 文章目录 一、环境配置和安装需要使用的库二、准备数据及相关模型三、参照样例编写代码&#xff08;一&#xff09;导入相关库&#xff08;二&#xff09;准备数据&#xff08;以知名画作《戴珍珠耳环的少女》为例&#xff09;&#xff08;三&#xff0…

web小游戏,蜘蛛纸牌

H5小游戏源码、JS开发网页小游戏开源源码大合集。无需运行环境,解压后浏览器直接打开。有需要的订阅后,私信本人,发源码,含60+小游戏源码。如五子棋、象棋、植物大战僵尸、贪吃蛇、飞机大战、坦克大战、开心消消乐、扑鱼达人、扫雷、打地鼠、斗地主等等。 <!DOCTYPE h…

Docker Protainer可视化平台,忘记登录密码,重置密码。

由于好久没有登录portainer系统&#xff0c;导致忘记了登录密码&#xff0c;试了好多常用的密码都不对&#xff0c;无奈只能重置密码。 一、停止protainer 容器 查看容器ID和COMMAND 用于停止容器 docker ps -a停止容器 docker stop portainer二、查找volume data 宿主机所在…

时间序列分析技巧(一):根据ACF、PACF进行AR、MA、ARMA模型选择

程序员如何选择职业赛道&#xff1f; &#x1f349;CSDN小墨&晓末:https://blog.csdn.net/jd1813346972 个人介绍: 研一&#xff5c;统计学&#xff5c;干货分享          擅长Python、Matlab、R等主流编程软件          累计十余项国家级比赛奖项&#…

华为OD机试 - 数字排列 - 深度优先搜索dfs算法(Java 2024 C卷 100分)

目录 专栏导读一、题目描述二、输入描述三、输出描述1、输入2、输出3、说明 四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2024C卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&a…