mysql基本操作命令

news2024/11/16 11:41:00

1、数据库的分类

mysql:关系型数据库

redis:非关系型数据库

关系型数据库:存储数据的结构是一个二维表格

表:行 列

行:记录,用来描述一个对象的信息

列:字段,用来描述对象的一个属性

2、常见的关系型数据库

mysql(中小类型的数据并发请求)

oracle(大数据量):对事务控制能力较强。事务生效需要提交

关系型数据库:表里的数据是关联的,表与表之间的数据也是关联的

非关系型数据库:保存数据不是一张二维表,以键值对来保存数据,key→value

既然有关联,查询速度相对来说,关系型数据库查询速度更慢一些,非关系型数据库可以支持高并发读写,对海量数据依旧保持着高效率的存储和访问

(重点)多表关联,最多可以关联几张表?

最多3张表(太多表查询时间较长,降低数据库查询读写性能)

3、事务

(1)事务定义

在数据库中指的是由一个或多个操作组成的数据操作的序列,这些操作要么全部成功,要么失败一个全部不执行,确保数据一致性和完整性

(2)事务特点

①原子性:数据库的最小工作单元,要么全部执行成功,要么全部不执行。只要有一个操作失败,整个执行序列都会被回滚,即便是完成的操作也会被撤销

②一致性:事务执行前后,数据库的完整性约束不能被破坏。只有满足所有的约束条件情况下,事务才能被提交

③隔离性:事务的执行是相互隔离的,一个事务的执行不能受到其他执行事务的干扰,并发事务之间互相隔离。防止数据不一致

④持久性:事务一旦提交,它所做的所有修改会永久的保存在数据库中。即便系统崩溃,提交的数据也不会丢失

4、mysql名词

①数据库database

②表table   行row   列column

③索引index

④视图view

⑤存储过程procedure

⑥触发器trigger

⑦用户user

⑧权限privilege

5、mysql语句规范

①在数据库系统中,sql不区分大小写,但建议大写。语句不区分,表名严格区分大小写

②sql语句可以单行书写,也可以多行书写,默认以;结尾

换行规则:关键词不能跨行或简写

③子语句通常位于独立行,可以便于编辑,且提高可读性

④字符串只能支持单引号

6、mysql命名规则

①必须以字母开头,后面可以包含数字,只支持三个特殊符号#_$,不要使用mysql的保留字来命名数据库,例如table、select等

②数据库名、表名、用户名严格区分大小写

7、mysql的常用字符类型

①int:整数类型。占4个字节,范围很大

②char:固定长度的字符串类型。长度可以小于等于此长度

③varchar:可变长度的字符串类型。存储可变长度的字符串(有限制的长度,根据类型设定的长度)

④float:单精度浮点数类型

float (m,d)——m表示总位数,d表示小数位

⑤double:双精度浮点数类型

double (m,d)——m表示总位数,d表示小数位

⑥decimal:固定精度的小数类型

          decimal (m,d)——m表示总位数,d表示小数位

float、double、decimal都是浮点数,没什么大区别

⑦text:文本类型。存储大文本数据,例如文档或者长字符串

⑧image:图像类型。二进制存储图像,例如图片,多媒体

⑨date:日期类型

格式:yyyy-mm-dd(年-月-日)

⑪datetime:日期类型

格式:YYYY-MM-DD HH:MM:SS(年-月-日 时:分:秒)

⑫timestamp:日期类型。可以自动更新为当前的时间戳

格式:YYYY-MM-DD HH:MM:SS(年-月-日 时:分:秒)

char和varchar的区别:

char无论是否定义了值都会占用固定长度的字节大小4个

varchar定义了长度14,实际占用5个,加一个隐藏符,占6个字节数

举例

char所占字节数

varchar所占字节数

‘ ’

4

1

‘ab’

4

变成‘ab ’  3

‘abcd’

4

变成‘abcd ’  5

优点

读写速度快

节省磁盘空间

都是字符串类型,一定要用单引号

8、sql语句分类(重点)

(1)DDL:数据定义语言,用于创建数据库的对象,例如库、表、索引——对表的结构操作

CREATE创建    DROP删除     ALTER修改

(2)DML:数据操作语言,对表中的数据进行管理——对表的内容操作

select查询    update更新    insert添加    delete删除

(3)DQL:查询数据记录(重点)

(4)DCL:数据控制语言,设置或更改数据库用户或者用户的权限

GRANT赋权    REVOKE取消权限

TCL事务控制语句,管理数据库中的事务

commit确认提交事务,一旦提交无法回滚ROLLBACK

savepoint有保存点可以回滚

alter和update的区别:

alter用来修改基本表是对表的结构进行操作,比如对字段增加,删除,修改类型

update用来修改表中的数据,修改某一行某一列的值

新建

创建表create table yyy (id int(6) not null,name varchar(20) not null,sccore decimal(3,1),passwd char(4),primary key(id));

插入表内容insert into yyy values(1,'郭三',60,'1234');

给用户密码加密

update yyy set passwd=password('0000') where id = 3;

insert into yyy values(5,'咩咩',99.9,password('1234'));

删除表中的内容行delete from yyy where id = 2;

清空表中内容truncate table yyy;

删除表中的列 alter table yyy drop column birthday;

修改表名alter table yyy rename sss;

修改表的结构alter table yyy add birth date;

修改列名alter table yyy change birth birthday date;

修改表的字符串类型alter table yyy modify column name char(30);

给已存在用户设置生日update yyy set birthday=date('2000-10-10') where id = 5;

指定唯一条件查询表select * from yyy where id = 3;

从第3行开始向下查询2行select * from yyy limit 2,2;

显示前4行select * from yyy limit 4;

查询null和非null对象(空格也代表一种描述信息,不是null)

select * from yyy where passwd is null;

select * from yyy where passwd is not null;

查询列select score from yyy;

指定条件去重查询

select distinct score from yyy;

select distinct name,passwd from yyy;

①登录数据库mysql -u root -p123

②查看当前数据库中有哪些库show databases;

③查看当前数据库使用的端口号show global variables like 'port';

新建

④创建数据库create database yst;

⑤切换库use mysql;

⑥查看表show tables;

⑦纵向查看表结构describe user\G;

⑧切换到自定义的数据库yst中use yst;

创建表create table yyy (id int(6) not null,name varchar(20) not null,sccore decimal(3,1),passwd char(4),primary key(id));

查询表的结构desc yyy;

NULL什么都没有,对象没有任何描述信息

空格——也是字符

⑨插入表内容insert into yyy value(1,'郭三',60,'1234');

或者insert into yyy values(1,'郭三',60,'1234');

⑩给用户密码加密(用唯一值指定对象)

方法1:update yyy set passwd=password('0000') where id = 3;

方法2:insert into yyy values(5,'咩咩',99.9,password('1234'));

出现此错误,因为加密后的密码是一长串字符串,超过加密前设定的passwd字符串长度,需要增加passwd字符串长度

⑪删除表中的内容行delete from yyy where id = 2;

⑫删除表中的列 alter table yyy drop column birthday;

⑬清空表中内容truncate table yyy;

⑭修改表名alter table yyy rename sss;

⑮修改表的结构alter table yyy add birth date;

⑯修改列名alter table yyy change birth birthday date;

⑰修改表的字符串类型alter table yyy modify column name char(30);

⑱给已存在用户设置生日update yyy set birthday=date('2000-10-10') where id = 5;

⑲指定唯一条件查询表select * from yyy where id = 3;

⑳从第3行开始向下查询2行select * from yyy limit 2,2;

㉑显示前4行select * from yyy limit 4;

㉒查询null和非null对象(空格也代表一种描述信息,不是null)

select * from yyy where passwd is null;

select * from yyy where passwd is not null;

㉓查询列select score from yyy;

㉔指定条件去重查询select distinct score from yyy;

select distinct name,passwd from yyy;

删库!!!禁用!!!坐牢!!!

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

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

相关文章

基于SSM的二手车交易系统

基于SSM的二手车交易系统的设计与实现~ 开发语言:Java数据库:MySQL技术:SpringSpringMVCMyBatis工具:IDEA/Ecilpse、Navicat、Maven 系统展示 主页 登录界面 管理员界面 摘要 基于SSM(Spring、SpringMVC、MyBatis&a…

高效管理文件夹名称:如何批量修改指定多样化的文件夹名称

在文件管理工作中,文件夹名称的管理对于整体的文件管理体系有着至关重要的作用。然而,往往我们会在文件夹名称的管理上遇到一些难题,如:需要修改的文件夹名称多样化,无法一次性满足所有需求。为了解决这个问题&#xf…

米尔AM62x核心板助力新一代工业4.0升级

米尔AM62x核心板 续写AM335x经典 在过去的十几年中,TI Sitara系列推出了很多优秀的处理器,其中在工业、电力、医疗等领域有着广泛应用的AM335x系列处理器,引领工业市场从MCU向MPU演进,帮助产业界从ARM9迅速迁移至高性能Cortex-A…

796. 子矩阵的和(二维前缀和)

题目: 796. 子矩阵的和 - AcWing题库 思路: 1.暴力搜索(搜索时间复杂度为O(n2),很多时候会超时) 2. 前缀和(左上角(二维)前缀和):本题特殊在不是直接求前…

软考系统架构师知识点集锦五:系统可靠性分析与设计

一、考情分析 二、考点精讲 2.1相关基本概念 可靠性:可靠性是软件系统在应用或系统错误面前,在意外或错误使用的情况下维持软件系统的功能特性的基本能力。 可用性:可用性是系统能够正常运行的时间比例。 软件可靠性 ≠ 硬件可靠性 软硬件对比 复杂性:软件复杂性比…

linux下部署nacos(单机、集群)

文章目录 nacos简介单机部署集群部署部署常见问题 官网文档地址:https://nacos.io/zh-cn/docs/deployment.html github地址:https://github.com/alibaba/nacos nacos简介 Nacos,全称阿里巴巴开源的动态服务发现、配置和服务管理平台&#x…

【springBoot】博客系统

SSM版本的博客系统 1. 项目亮点 使用MD5加盐算法进行密码的加密使用Redis持久化存储Session使用拦截器验证用户登录 2. 项目创建 1.项目框架的选择 2. 项目依赖的引入 3. 静态页面的代码文件: program/博客系统(静态页面).rar 叁伍/java语言练习 - 码云 - 开源…

电脑msvcp100.dll丢失了怎么办?详细的5个修复方法

电脑已经成为我们生活和工作中不可或缺的一部分。然而,由于各种原因,其中最常见的就是“缺少xxx.dll文件”,而msvcp100.dll就是其中之一。那么,msvcp100.dll到底是什么?当我们遇到这个问题时,应该如何解决呢…

剑指JUC原理-4.共享资源和线程安全性

共享问题 小故事 老王(操作系统)有一个功能强大的算盘(CPU),现在想把它租出去,赚一点外快 小南、小女(线程)来使用这个算盘来进行一些计算,并按照时间给老王支付费用 …

如何优化工业5G网关的网络信号

工业5G网关,通常是指支持5G网络,具有高速率、低时延、广接入等特点的高性能工业物联网智能网关,这类网关具有强大的设备接入能力、通信协议转换、运算处理能力、联动控制能力,有助于提升工业物联网整体通信效率,实现生…

tooltip实现悬停内容高亮及格式化

一: 通过highlight.js项目实现对json字符串的染色高亮 此项目是jsp文件,并且引用了element-ui/highlight.js的组件,对tooltip中的json文本(理论上支持highlight所支持的所有项目)进行高亮并格式化 二: 实现效果 三: 代码实现 关键点在于成功…

树莓派 qt 调用multimedia、multimediawidgets、serialport、Qchats

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、测试11.命令安装出现错误 二、测试21. 安装 Qt Charts:2. 安装 Qt Multimedia 和 Qt MultimediaWidgets:3. 安装 Qt SerialPort&…

postgis ST_CoverageInvalidEdges用法

官方文档 概要 geometry ST_CoverageInvalidEdges(geometry winset geom, float8 tolerance 0); 描述 一个窗口函数,用于检查窗口分区中的多边形是否形成有效的多边形覆盖范围。 它返回线性指示器,显示每个多边形中无效边(如果有&#x…

C++项目——云备份-⑥-服务端热点管理模块的设计与实现

文章目录 专栏导读1.热点管理类设计2.热点管理类的实现与整理 专栏导读 🌸作者简介:花想云 ,在读本科生一枚,C/C领域新星创作者,新星计划导师,阿里云专家博主,CSDN内容合伙人…致力于 C/C、Linu…

解放工程师双手帮助网工做运维

✍ SNMP为什么被誉为“网管神器”? ✍ SNMP不同版本有何区别? ✍ SNMP有哪些问题及Telemetry有何优势? telnet, ssh远程登录到设备: 简单网络管理协议:SNMP 集中式管理: 华为:e-sight 华三…

计算机毕设 基于CNN实现谣言检测 - python 深度学习 机器学习

文章目录 1 前言1.1 背景 2 数据集3 实现过程4 CNN网络实现5 模型训练部分6 模型评估7 预测结果8 最后 1 前言 Hi,大家好,这里是丹成学长,今天向大家介绍 一个深度学习项目 基于CNN实现谣言检测 1.1 背景 社交媒体的发展在加速信息传播的…

使用NATAPP内网穿透详细步骤

在开发过程中,避免不了前端和后端不在一个局域网下,这时候,前后端联调的时候,前端访问不到后端的服务器,使用穿透就可以解决这个问题。 1、打开网址https://natapp.cn/2、进行注册,然后登录 3、击购买渠道…

大数据-Storm流式框架(五)---DRPC

DRPC 概念 分布式RPC(DRPC)背后的想法是使用Storm在运行中并行计算真正强大的函数。 Storm拓扑接收函数参数流作为输入,并为每个函数调用发送结果的输出流。 DRPC并不是Storm的一个特征,因为它基于Storm的spouts,bo…

推荐一个高效测试用例工具:XMind2TestCase..

一、背景 软件测试的核心是什么?毫无疑问是测试分析和测试用例设计,也是日常测试投入最多时间的工作内容之一。 然而,传统的测试用例设计过程有很多痛点: 1、使用Excel表格进行测试用例设计,虽然成本低,但…

FL Studio音乐编曲软件好不好用?要不要购买

音乐编曲软件的出现使得音乐创作者能够克服时间和空间的限制,随时随地进行创作。随着信息时代的发展,使用编曲软件已成为音乐创作领域的主流。那么编曲软件哪个好用呢?我推荐这三款。 在业内,常用的音乐编曲软件包括Cubase、Logi…