上课笔记(2)——MySQL数据库基础知识

本文内容有:

MYSQL分类(Database)

数据库操作:

创建表:

 库名、表名、字段名规范

表中的数据类型:

char(10)  varchar(10) 区别

常用的类型:

常用的约束

数据库中表中记录的操作

数据库表中记录的查询操作(单表)

条件查询

分组操作(group by )  

聚合函数查询

分页操作

排序操作(order by)

交叉查询

内连接查询

外连接查询

子查询


MYSQL分类(Database)

数据定义语言:(DDL)data definition language,是用来定义数据库对象:数据库、表、列等;关键字:create alter drop;

数据操作语言:(DML),用来对数据库中的记录进行更新,关键字:insert增、delete删、update改;

数据控制语言:(DCL),用来定义数据库的访问权限和安全级别、以及创建用户;

数据查询语言:(DQL)用来查询数据库中表的记录,关键字:select查、from、where;

数据库操作:

创建数据库: create database 库名 (character set 编码);

删除数据库:  drop database 库名;

使用数据库: use 库名;

注释:  Sql语句中的注释 在语句之前 --

查看当前所有数据库:show databases;

查看当前操作的数据库: select database();



查看当前数据库中表: show tables;

查看表结构:desc 表名;

删除表:drop table 表名;

修改表:

    添加一列:alter table 表名 add 字段名 类名(长度) [约束];
    修改列的类型(长度,类型):alter table 表名 modify 想要修改的字段名 类型(长度) [约束];
    修改列名:alter table 表名 change  旧列名  新列名 类型(长度)  [约束];
    删除表中的列:alter table 表名 drop 列名;
    修改表名:rename table 表名 to 新表名;
    修改表的编码:alter table 表名 character set 编码
    查看当前表结构语句: show create table 表名;

 

创建表:

create table 表名(

    字段名  类型(长度) [约束] ,

    字段名  类型(长度) [约束] ,
    
    字段名  类型(长度) [约束] 
);

 库名、表名、字段名规范

随意定义,遵循响应命名规范,不区分大小写,所以驼峰命名法不中了,需要使用下划线,将多个单词分开;如果要使用关键字,需要使用 ` ` 包裹;

表中的数据类型:

整型:int(integer) 普通大小的数,默认就是不超过11位;tinyint 很小的整数 相当于Java的byte;smallint小的整数,相当于short;mediumint中等大小的整数long;

小数类型:float单精度浮点型;double 双精度浮点型;decimal(m,d)压缩严格的定点数,m代表位数,d小数点几位;

日期类型:year  格式YYYY(1901-2155) ;time 格式(HH:mm:SS); datatime 格式(YYYY-MM-DD HH:mm:SS) ;timestamp 格式(YYYY-MM-DD HH:mm:SS utc )

文本类型:char(m) 字符串类型m取值0-255之间整数,表示字符串个数;char(10)  varchar(10)

varchar(m) 字符串类型允许长度0-65535之间;表示字符串的个数

char(10)  varchar(10) 区别

1、char没加入一条数据 默认他的长度就是10个,如果不够10个,‘aa’ 剩下8位用空格占住;
2、varchar插入是的数据有多长,就占多长,最大是10;

常用的类型:

tinyblob     允许长度0-255字节
blob         允许长度0-65535字节
mediumblob   允许长度0-65535*65535字节
longblob     允许长度很大字节
text         允许长度0-65535字节;

常用的约束:

主键约束:primary key 唯一性,非空性;

唯一约束:unique 唯一性,可以为空,但是只能有一个;

默认约束:default 该数据的默认值;

非空约束:not null 数据不能为空;

外键约束:实际开发中外键会少用,foreign key

自增长:auto_increment 一般用于主键自增长;

数据库中表中记录的操作

1、插入记录:insert into 表名(列名1,列名2,....) values(值1,值2,....) 或者 insert into 表名 values(值1,值2,....);

2、删除记录(不带条件,记录全删,表还在):delete from 表名;

3、删除记录(带条件,只删除条件部分):delete from 表名 where 条件;

4、使用 truncate table 表名; 会删除自增的序列,而使用delete则不会删除之前自增序列;

5、修改表记录:update 表名 set 字段名 = 值,字段名=值,....;

6、修改表记录带条件:update 表名 set 字段名 = 值, 字段名 = 值 where 条件;

数据库表中记录的查询操作(单表):

查询所有: select  *  from 表名;
查询列:select 列名,列名  from 表名;
查询所有记录使用别名: select  *  from 表名 as 别名;
查询列名使用别名:select 列名 [as] 别名 from 表名;
查询去掉重复:select distinct(列名)  from 表名;
将所有信息改变展示:select 列名+值 from 表名;

条件查询:

比较运算符: 

    ①加在where后面 + 字段和值的比较

    ②>   <   >=   <=   = 

    ③between ...and... 显示在某一区间的值(含头含尾)
    
    ④in(set) 显示在in列表中的值   set为集合

    ⑤like通配符 模糊查询,like语句中有两个通配符

    ⑥如果没有通配符,like 相当于 =

    ⑦%用来匹配多个字符(0-xxx): like  ’%aa%’

    ⑧_ 用来匹配一个字符(1): like  ‘ _aa_’

    ⑨is null 判断是否为空;is not null 判断非空

逻辑运算符:

    ①and 多个条件同时成立

    ②or 多个条件任一成立

    ③not  不成立

分组操作(group by )  :

不能和 * 一起使用,这样使用一定是错的;

必须使用分组的列名 作为字段名;

根据字段进行分组,分组后统计每个数据信息;

select 分组列名 from 表名 group by 分组列名;

分组之后再加条件用having 不能再用where:

select 字段名 from 表名 group by 字段名 having 条件。

聚合函数查询:

AVG平均值         select avg(字段名) from 表名;

SUM和值           select sum(字段名) from 表名;

MIN最小值         select min(字段名) from 表名;

MAX最大值         select max(字段名) from 表名;

COUNT总数         select count(字段名) from 表名;

分页操作:

select * from 表名 limit a , b ; 

其中a 代表从第(几+1)条数据开始查询,如果是1 就从第2条开始查询, 
    b代表查询几条数据;当显示内容小于b的时候,会正常显示剩余的所有数据;

排序操作(order by):

select * from 表名 order by 字段名 asc(默认,升序)/desc(降序);

交叉查询(基本不用

使用到关键字 cross join ,可以省略写成 ,  ;

内连接查询:

使用关键字inner join , inner 可以省略;

隐式内连接:使用交叉查询,限定(where)查询条件;

显示内连接:使用join来进行查询, 也需要加条件(on);

外连接查询:

使用关键字outer join 、outer可以省略,条件限制使用on,不能用where;

左外连接:left join 以左边表为准,有的数据全部展示;

右外连接:right join 以右边表为准,有的数据全部展示;

子查询:

将一个查询的结果当做另外一个查询的条件;

从staff表中找一个编号最大的人的全部信息;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
森林防火应急联动指挥系统是一个集成了北斗定位/GPS、GIS、RS遥感、无线网络通讯、4G网络等技术的现代化智能系统,旨在提高森林火灾的预防和扑救效率。该系统通过实时监控、地图服务、历史数据管理、调度语音等功能,实现了现场指挥调度、语音呼叫通讯、远程监控、现场直播、救火人员生命检测等工作的网络化、智能化、可视化。它能够在火灾发生后迅速组网,确保现场与指挥中心的通信畅通,同时,系统支持快速部署,适应各种极端环境,保障信息的实时传输和历史数据的安全存储。 系统的设计遵循先进性、实用性、标准性、开放性、安全性、可靠性和扩展性原则,确保了技术的领先地位和未来的发展空间。系统架构包括应急终端、无线专网、应用联动应用和服务组件,以及安全审计模块,以确保用户合法性和数据安全性。部署方案灵活,能够根据现场需求快速搭建应急指挥平台,支持高并发视频直播和大容量数据存储。 智能终端设备具备三防等级,能够在恶劣环境下稳定工作,支持北斗+GPS双模定位,提供精确的位置信息。设备搭载的操作系统和处理器能够处理复杂的任务,如高清视频拍摄和数据传输。此外,设备还配备了多种传感器和接口,以适应不同的使用场景。 自适应无线网络是系统的关键组成部分,它基于认知无线电技术,能够根据环境变化动态调整通讯参数,优化通讯效果。网络支持点对点和点对多点的组网模式,具有低功耗、长距离覆盖、强抗干扰能力等特点,易于部署和维护。 系统的售后服务保障包括安装实施服务、系统维护服务、系统完善服务、培训服务等,确保用户能够高效使用系统。提供7*24小时的实时故障响应,以及定期的系统优化和维护,确保系统的稳定运行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值