目前流行的app网站开发模式/企业危机公关
目录
一、常用的数据类型
二、MySQ数据库基础操作
1、登录数据库
2、查看当前的 MySQL 版本信息及连接用户名
3、查看当前服务器中的数据库
4.查看数据库中包含的表
5.查看表的结构(字段)
6、MySQL的6大约束属性
三、SQL语句
1)DDL语句(管理数据库对象)
1、创建新的数据库
2、创建新的表
3、 查看库或表
4、删除指定数据表(慎重)
5、删除指定数据库(慎重)
6、克隆表
7、清空表
8、创建临时表
9、外键约束
2)DML语句(管理数据记录)
1、表中插入新数据记录
2、查询数据记录
3、修改、更新数据表中的数据记录
4、在数据表中删除指定的数据记录
3)DQL语句(管理表名和表结构)
1、修改表名
2、扩展表结构(增加字段)
3.修改字段(列)名,添加唯一键
4、删除字段
5、添加主键(一个表只能有一个主键)
6、删除主键
4)DCL语句(管理用户管理)
1、新建用户
2、修改用户名
3、删除用户
4、修改用户密码
5、数据库用户授权
一、常用的数据类型
int(n) | 整型类型。4个字节,无符号[0,2^32-1],有符号[-2^31,2^31-1] ^次方 |
tinyint(n) | 整型类型。1个字节,范围(-128~127) |
smallint(n) | 整型类型。2个字节,范围(-32768~32767) |
float(n,m) | 单精度浮点:8位精度,4字节32次方位。n为总个数,m为小数位数,如字段定义float(4,2),12.1212则存入的是12.12 |
double(n,m) | 双精度浮点:16精度,8字节64次方位。n为总个数,m为小数位数 |
char (n) | 固定长度的字符类型,(n)指定长度。 指定长度为n,不管数据是几个字节都会占用n个字节的空间。多于n个字符也只占用n个字符的空间。 查询速度快,删除修改不会产生碎片。 |
varchar(n) | 可变长度的字符类型。varchar模式能够节约磁盘空间,适合存放地址数据。 指定长度为n,空数据占用1个结束符字节长度;n个字符数据会占用n+1个字节空间;多于n个字符也是占用n+1个字符空间。 节约空间,但删除修改会产生碎片需要额外定时清理。 |
text | 长文本,没有长度限制,最多65535 |
image | 图片 |
decimal(5,2) | 5个有效长度数字,小数点后面有2位 |
注意:int(n)单独使用时n不起任何作用,配合zerofill自动往前填充0直到满足n位数。
二、MySQ数据库基础操作
1、登录数据库
企业中很多使用navicat来管理数据库,非常简单。此软件也有命令行功能,以下截图均来自软件命令行工具。
#字符界面登录
[root@centOS2 ~]# mysql -u root -pAbc123
2、查看当前的 MySQL 版本信息及连接用户名
select version();
select user();
3、查看当前服务器中的数据库
#查看所有库
show databases;
初始状态下的MySQL会附带4个系统数据库
information_schema 主要存储系统中的一些数据库对象信息,如数据库名,数据库的表,表栏的数据类型与访问权限等 mysql 主要存储系统的用户权限信息 performance_schema 主要存储数据库服务器性能参数信息 sys MySQL5.7之后引入的一个新的 sys 数据库,sys 库里面的表、视图、函数以及存储过程可以让用户快速了解MySQL的一些信息,它的数据来源于performance_schema
4、查看数据库中包含的表
#切换库,查看表
use 库名;
show tables;
#不切换库直接查看表
show tables from 库名;
5、查看表的结构(字段)
#切换库查看表结构,describe可缩写为desc
use 库名;
describe 表名;
#不切换库直接查看表结构
desc 库名.表名;
6、MySQL的6大约束属性
主键约束 primary key | 字段的值不能重复,且不能为null,一个表只能有一个主键 |
唯一键约束 unique key | 字段的值不能重复,但可以为null,一个表可以有多个唯一键 |
非空约束 not null | 字段的值不能为null |
默认值约束 default 'XXX' | 字段的值如果没有设置值则会使用默认值自动填充 |
自增约束 auto increment | 字段的值如果没有设置值会默认从开始每行自动递增1,而且要求设置自增的字段必须为主键 |
外键约束 foreiqn key | 用来保证外键表和主键表相关联的数据的完整性和一致性 |
键值对 key/value kv key名:value host:www.xy101.com
三、SQL语句
SQL语句是用于维护管理数据库,包括数据查询、数据更新、访问控制、对象管理等功能。大部分的关系型数据库都采用SQL语句作为它们的管理语句,所以掌握MySQL的SQL语句很容易掌握Oracle和SQL server的SQL语句。
SQL语言分类
DDL | 数据定义语言,用于创建数据库对象,如库、表、索引等 |
DML | 数据操纵语言,用于对表中的数据进行增删改操作管理 |
DQL | 数据查询语言,用于从数据表中查找符合条件的数据记录 |
DCL | 数据控制语言,用于设置或者更改数据库用户或角色权限 |
1)DDL语句(管理数据库对象)
1、创建新的数据库
create database 数据库名;
2、创建新的表
#切换库在创建表
use 库名;
create table 表名 (字段1 数据类型,字段2 数据类型[,...][,primary key (主键名)]);
主键名是表中很重要的字段,可以使字段每个值不能重复且不能为空,主键字段只能有一个,能实现排序功能;#不切换库直接创建表
create table 库名.表名 (字段1 数据类型,字段2 数据类型[,...][,primary key (主键名)]);
3、查看库或表
show databases; #查看所有库
show tables from 库名; #查看库中所有表
desc 库名.表名; #查看库中指定表的结构
4、删除指定数据表(慎重)
#先切换到库里再删除表
use 库名;
drop table 表名; #不用切换到库直接删除表
drop table 数据库名.表名;
5、删除指定数据库(慎重)
drop database 库名;
6、克隆表
方法一:可实现表结构和表数据与旧表都一样
create table 新表名 like 旧表名; #克隆表结构
insert into 新表名 select * from 旧表名; #克隆表数据
方法二:表数据和旧表是一样的,新表的结构和旧表的不一定一样
create table 新表名 (select * from 旧表名);
7、清空表
delete清空表是一条一条的删除记录,清空表效率较慢;AUTO_INCREMENT自增字段仍保持原有的记录;
delete from 表名;
truncate清空表是直接重建表,清空表效率较快;AUTO_INCREMENT自增字段的记录也会重置;
truncate table 表名;
8、创建临时表
临时表跟一般的表的相同点是都可以进行增删改查表数据;区别是show tables; 查不到临时表,临时表只能再当前会话中有效,退出当前会话,临时表就会失效。
create temporary table 表名 (....);
9、外键约束
如果同一个字段x在表一中是主键,在表二中不是主键,且字段的数据类型、字符长度和约束类型设置都相同,则能称字段x为表二的外键,表一可称为主表或父表,表二可称为外表或从表(注意从表不能为临时表)。
外键约束能够保证数据的完整性和一致性(插入数据时,需要先插入主键表的公共字段的相关数据,才能在外键表插入相关联的数据;删除数据时,需要先保证外键表已经没有相关数据,才能在主键表删除相关联的数据)。
主键表创建主键约束
alter table 主表名 add primary key (公共字段);
外键表创建外键约束
alter table 从表名 add foreign key(公共字段) references 主表名(公共字段);
删除外键
alter table 表名 drop foreign key 外键别名;
删除主键
alter table 表名 drop key 键名;
2)DML语句(管理数据记录)
1、表中插入新数据记录
方法一
insert into 表名(字段1,字段2[,...]) values (字段1的值,字段2的值,...);
方法二
insert into 表名 values (字段1的值,字段2的值...);
2、查询数据记录
use 库名;
方法一:查看表中指定字段和值
select 字段1,字段2,字段3... from 表名;
方法二:查看表中所有字段和值
select * from 表名;
select 字段1,字段2... from 表名 where 条件表达式;
#分页查询
select 字段 from 表名 limit N; #查看表的前N行的记录
select 字段 from 表名 limit N,M; #查看表的第N行之后的连续M行的记录(不包含第N行)
当一个表的字段非常多显得很乱时,可以用此命令单列依次查看字段数据(mysql客户端才支持此命令)
select * from 表名\G;
3、修改、更新数据表中的数据记录
update 表名 set 字段名1=字段值1[,字段名2=字段值2] [where 条件表达式];
#[]表示可加可不加。如果不加where语句,会默认把所有行的字段改掉
4、在数据表中删除指定的数据记录
delete from 表名 [where 条件表达式];
3)DQL语句(管理表名和表结构)
1、修改表名
alter table 旧表名 rename 新表名;
2、扩展表结构(增加字段)
#添加字段,指定数据类型,默认值为XX
alter table 表名 add 字段 数据类型(n) default 'XX';
3、修改字段(列)名,添加唯一键
alter table 表名 change 旧列名 新列名 数据类型 [unique key];
#unique key可以给表中多个字段设置
4、删除字段
#删除表中某个字段
alter table 表名 drop 字段名;
5、添加主键(一个表只能有一个主键)
alter table 表名 add primary key(字段);
6、删除主键
alter table 表名 drop primary key;
4)DCL语句(管理用户管理)
1、新建用户
create user '用户名'@'来源地址' identified by [password] '密码';
来源地址可以是 localhost、IP、网段、%代表任意地址、主机名,[identified by password '密码']不加表示无密码登录,不建议无密码
#'root'@'localhost'表示本地用户,创建本地用户登录的账号和密码
create user '用户名'@'localhost' identified by '密码';
#查看用户
select user();
#(了解)密文方法创建'root'@'%'形式的某个主机登录的用户
select user,host,authentication_string from mysql.user; #host表示登录主机,authentication_string表示密文保存密码的字段。
select password('指定密码'); 这一步为了生成密文密码
#密文方法创建某个主机登录的用户
create user '用户名'@'%' identified by passwd '密文';
2、修改用户名
rename user '用户名'@'来源地址' to '新用户名'@'来源地址';
3、删除用户
drop user '用户名'@'来源地址';
4、修改用户密码
set password for '用户名'@'来源地址' = password('密码'); #只能root用户使用此命令修改
set password =password ('新密码'); #只能修改当前用户密码
alter user '用户名'@'来源地址' identified by '密码'; #只能root用户使用此命令修改
面试题:如何找回 root 密码?
1)修改MySQL配置文件,在 [mysqld] 配置项下面添加配置 skip-grant-tables
2)重启MySQL服务,使用 mysql 命令即可直接登录数据库
3)执行命令 update mysql.user set authentication_string=password('密码') where user='root'; 来修改root用户密码,flush privileges;刷新后退出
4)还原MySQL配置文件注释掉添加的配置,再重启MySQL服务,即可使用命令 mysql -u root -p密码 [-h 服务器地址 -P 端口] 登录数据库
5、数据库用户授权
刚创建的新用户可用权限很少,默认情况下只有登录权限,没有操作数据库的权限,所以创建用户后需要授权。
#在5.7或之前支持 grant 创建新用户和授予权限,8.0开始只能用于授予权限.all表示所有权限
grant 权限1,权限2,.... on 库名.表名 to '用户名'@'来源地址' [identified by '密码']; all [privileges] *.*(代表 任意库.任意表)
#刷新生效
flush privileges;
#查看用户有哪些权限
show grants for '用户名'@'来源地址';
#收回权限,all表示收回所有权限
revoke 权限列表 on 库名.表名 from '用户名'@'来源地址';
revoke all on 库名.表名 from '用户名'@'来源地址';
实操题
创建一张名为table_fp的表格,含有以下字段:dm(代码),hm(号码),rq(日期),bz(标志),xfhm(销方公司号码),xfmc(销方公司名称),gfhm(购方公司号码),gfmc(购方公司名称),je(总金额),se(总税额),主键为dm和hm字段。现要求做如下操作:插入数据,修改数据,删除数据,查询数据第3-5行数据,最后把一个字段的名字改了。
use mydb; create table table_fp (dm int(4) zerofill auto_increment, hm int, rg varchar(11) not null, bz varchar(4) not null unique key, xfhm int not null, xfmc varchar(20) not null, gfhm int not null, gfmc varchar(20) not null, je float(6,2), se float(6,2), primary key(dm,hm));
insert into table_fp (hm,rg,bz,xfhm,xfmc,gfhm,gfmc,je,se) values (125123123,2024-05-06,'01',125123123,'company',125123456,'zhongtong',2340.5567,332.1153);insert into table_fp (hm,rg,bz,xfhm,xfmc,gfhm,gfmc,je,se) values (125121212,2024-05-09,'07',125121212,'company',125123456,'yuantong',1111.5567,2323.11);insert into table_fp (hm,rg,bz,xfhm,xfmc,gfhm,gfmc,je,se) values (125121999,2024-06-10,'03',125121999,'company',125123456,'yunda',5123.5,1100.19);insert into table_fp (hm,rg,bz,xfhm,xfmc,gfhm,gfmc,je,se) values (125555555,2024-06-14,'05',125555555,'company',125123456,'debang',1058.230,80.1011);insert into table_fp (hm,rg,bz,xfhm,xfmc,gfhm,gfmc,je,se) values (125888888,2024-06-14,'06',125888888,'company',125123456,'jitu',2098.5,200.1011);insert into table_fp (hm,rg,bz,xfhm,xfmc,gfhm,gfmc,je,se) values (125125125,2024-06-19,'02',125125125,'company',125123456,'shunfeng',4011.22,1001.1);
delete from table_fp where dm=0001;
select * from table_fp limit 3,5;
alter table table_fp change se sumtax float(6,2);
相关文章:

mysql数据库的管理
目录 一、常用的数据类型 二、MySQ数据库基础操作 1、登录数据库 2、查看当前的 MySQL 版本信息及连接用户名 3、查看当前服务器中的数据库 4.查看数据库中包含的表 5.查看表的结构(字段) 6、MySQL的6大约束属性 三、SQL…...

Java项目分层(持续更新中)
第一次更新时间2024.6.26 分包 实体类 功能类 工具类 分层 实体类层 我们要操作的对象,Book,Student... 控制层 控制请求转发 业务层 处理业务 数据层 连接数据库 处理数据 工具类层 JDBC等工具类 测试层 最终启动项目 明确我们所要做的业务之后&a…...

2024年软件测试面试题大全【答案+文档】
🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 一、面试基础题 简述测试流程: 1、阅读相关技术文档(如产品PRD、UI设计…...

数据赋能(131)——体系:数据转换——概述、关注焦点
概述 数据转换是指将数据从一种格式、结构或类型转换为另一种格式、结构或类型的过程。 数据转换操作属于数据整理过程。 它通常涉及数据清洗、数据映射、数据合并、数据拆分等操作,以确保数据的正确性和一致性。 数据转换的目的在于将原始数据转换为更易于处理…...

【自然语言处理系列】掌握jieba分词器:从基础到实战,深入文本分析与词云图展示
本文旨在全面介绍jieba分词器的功能与应用,从分词器的基本情况入手,逐步解析全模式与精确模式的不同应用场景。文章进一步指导读者如何通过添加自定义词典优化分词效果,以及如何利用jieba分词器进行关键词抽取和词性标注,为后续的…...

TikTok短视频矩阵系统
随着数字化时代的到来,短视频已成为人们获取信息、娱乐消遣的重要渠道。TikTok,作为全球最受欢迎的短视频平台之一,其背后的短视频矩阵系统是支撑其成功的关键因素。本文将深入探讨TikTok短视频矩阵系统的构成、功能以及它在新媒体时代中的影…...

码题杯:我会修改图
原题链接:码题集OJ-我会修改图 题目大意:给你一张n个点(编号为1∼n),m条边(编号为1∼m)的无向图,图上每个点都有一个点权,权值分别为a1,a2,…,an&…...

MongoDB Map-Reduce 简介
MongoDB Map-Reduce 简介 MongoDB 是一个流行的 NoSQL 数据库,它使用文档存储数据,这些数据以 JSON 格式存储。MongoDB 提供了多种数据处理方法,其中 Map-Reduce 是一种用于批量处理和聚合数据的功能强大的工具。Map-Reduce 允许用户对大量数…...

某平台小程序逆向思路整理
一、下载软件 devtools 二、强制打开控制台 根据返回的数据我们得知数据被加密了 找到这个加密的js 发现加密的位置 打断点进入这个加密的方法 之后自定义js。python调用解密即可。...

黑马苍穹外卖6 清理redis缓存+Spring Cache+购物车的增删改查
缓存菜品 后端服务都去查询数据库,对数据库访问压力增大。 解决方式:使用redis来缓存菜品,用内存比磁盘性能更高。 key :dish_分类id String key “dish_” categoryId; RestController("userDishController") RequestMapping…...

鸿蒙开发系统基础能力:【@ohos.systemTime (设置系统时间)】
设置系统时间 本模块用来设置、获取当前系统时间,设置、获取当前系统日期和设置、获取当前系统时区。 说明: 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 导入模块 import systemTime …...

CVE-2020-26048(文件上传+SQL注入)
简介 CuppaCMS是一套内容管理系统(CMS)。 CuppaCMS 2019-11-12之前版本存在安全漏洞,攻击者可利用该漏洞在图像扩展内上传恶意文件,通过使用文件管理器提供的重命名函数的自定义请求,可以将图像扩展修改为PHP…...

【面试题】信息系统安全运维要做什么
信息系统安全运维是确保信息系统稳定、可靠、安全运行的一系列活动和措施。 其主要包括以下几个方面: 1.系统监控: 实时监测信息系统的运行状态,如服务器的性能指标、网络流量、应用程序的运行情况等。通过监控工具,及时发现系统…...

引导过程与服务器控制
一、引导过程 1.开机自检 服务器主机开机以后,将根据主板 BIOS 中的设置对 CPU(Central Processing Unit, 中央处理器)、内存、显卡、键盘等设备进行初步检测,检测成功后根据预设的启动顺序移 交系统控制权,…...

前置章节-熟悉Python、Numpy、SciPy和matplotlib
目录 一、编程环境-使用jupyter notebook 1.下载homebrew包管理工具 2.安装Python环境 3.安装jupyter 4.下载Anaconda使用conda 5.使用conda设置虚拟环境 二、学习Python基础 1.快排的Python实现 (1)列表推导-一种创建列表的简洁方式 (2)列表相加 2.基本数据类型及运…...

在Ubuntu上安装和配置配置服务器防火墙(CSF)的方法
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 简介 Config Server Firewall(CSF)是大多数 Linux 发行版和基于 Linux 的 VPS 的免费高级防火墙。除了基本的防…...

Python-井字棋
井字棋 1.设计登录界面1.1导入需要的工具包1.2窗口显示1.3登录界面图片显示1.6标签按钮输入框显示 2.登录功能实现2.1用户数据存储 2.2登录和注册2.2.1登录功能实现2.2.2注册功能实现 3.井字棋游戏3.1 导入需要的工具包3.2 窗口显示3.2 按钮标签显示3.3 棋盘设置初始状态3.4 游…...

39.客户端与服务端断开事件handler
客户端与服务端断开有两种情况: 1.正常断开,客户端调用了ctx.channel().close(); 2.异常断开,比如客户端挂掉了 服务端定义handler来处理连接断开情况下要进行的逻辑操作: package com.xkj.server.handler;import com.xkj.ser…...

SSL 之 http只用crt格式证书完成SSL单向认证通信
背景 远程调用第三方服务时,之前都是双向认证,服务器提供jks格式的keystore证书,客户端配置好即可。 今天遇到个奇葩需求,服务器只给根公钥证书(root.crt),还是第三方合法证书,要求单向认证,客户…...

实训作业-人事资源管理系统
er图 模型图 DDL与DML DROP TABLE IF EXISTS departments; CREATE TABLE departments (department_id int(11) NOT NULL AUTO_INCREMENT COMMENT 部门ID,department_name varchar(100) NOT NULL COMMENT 部门名称,PRIMARY KEY (department_id),UNIQUE KEY department_name (de…...

Flink 资源静态调度
本内容是根据 Flink 1.18.0-Scala_2.12 版本源码梳理而来。本文主要讲述任务提交时,为 Task 分配资源的过程。 以下是具体步骤讲解: TaskManager 资源注册 TaskManager 在启动时,会向 ResourceManager 注册资源。ResourceManager 会将 Tas…...

upload-labs第十三关教程
upload-labs第十三关教程 第十三关一、源代码分析代码审计 二、绕过分析1)0x00绕过a.上传eval.pngb.使用burpsuite进行拦截修改之前:修改之后:进入hex模块: c.放包上传成功: d.使用中国蚁剑进行连接 2)%00绕…...

基于springboot实现宠物商城网站管理系统项目【项目源码+论文说明】计算机毕业设计
基于springboot实现宠物商城网站管理系统演示 摘要 传统信息的管理大部分依赖于管理人员的手工登记与管理,然而,随着近些年信息技术的迅猛发展,让许多比较老套的信息管理模式进行了更新迭代,商品信息因为其管理内容繁杂ÿ…...

Fragment与ViewModel(MVVM架构)
简介 在Android应用开发中,Fragment和ViewModel是两个非常重要的概念,它们分别属于架构组件库的一部分,旨在帮助开发者构建更加模块化、健壮且易维护的应用。 Fragment Fragment是Android系统提供的一种可重用的UI组件,它能够作为…...

Linux开发讲课16--- 【内存管理】页表映射基础知识2
ARM32页表和Linux页表那些奇葩的地方 ARM32硬件页表中PGD页目录项PGD是从20位开始的,但是为何头文件定义是从21位开始? 历史原因:Linux最初是基于x86的体系结构设计的,因此Linux内核很多的头文件的定义都是基于x86的,…...

uniapp地图点击获取位置
主页面 <view class"right-content" click.stop"kilometer(item)"><view class"km">{{item.distance||0}}km</view><image src"../../static/map.png" mode""style"width: 32rpx; height: 32rpx…...

Unity程序开发:1.基本概念及操作
1. 基本概念与操作 Unity 是一个功能强大的游戏开发引擎,广泛用于创建2D和3D游戏。要开始开发游戏,了解游戏对象和组件的基本概念是必不可少的。 游戏对象与组件 什么是游戏对象(GameObject) 在 Unity 中,游戏对象…...

前端新手小白的第一个AI全栈项目---AI聊天室
前言 ok,大家好。- ̗̀(๑ᵔ⌔ᵔ๑)最近也是想做自己的第一个前后端分离的项目,刚好最近学了一点AI接口的实现。想着用接口做一个自己的ai聊天室并且尝试一下全栈式开发。中间真的解决了很多问题,也是成功之后也是想要将实现过程分享一下&a…...

金升阳电源被制裁,广州顶源电源模块可以完美替换
广州顶源电子科技股份有限公司,座落于国家高新技术开发区---广州科学城,是一家集研发、生产、销售及服务于一体的DC-DC,AC-DC电源的生产厂家。 公司通过了IATF16949汽车认证及ISO9001:2015质量管理体系认证。拥有专家级研发团队,产品研发经过…...

《数据赋能:一本书讲透数字化营销与运营》—— 从正确的数据观开始
基于数据打通的“全链路”营销是当下的“时髦”,应用它的前提是什么?深度营销和运营的关键数据如何获得?如何利用数据进行更精准的营销投放?如何利用数据优化投放的效果?如何促进消费者的转化,以及激活留存…...