Mysql——基础命令集合

news2024/11/23 13:48:04

目录

前期准备

先登录数据库

一、管理数据库

1.数据表结构解析

2.常用数据类型

3.适用所有类型的修饰符

4.使用数值型的修饰符

二、SQL语句

1.SQL语言分类

三、Mysql——Create,Show,Describe,Drop

1.创建数据库 

2.查看数据库

3.切换数据库

4.创建数据表

5.查看数据表

6.显示表结构

7.删除数据表

8.删除数据库

四、Mysql——INSERT, DELETE, UPDATE,SELECT

1.插入表数据

​编辑

2.查看插入数据

3.修改表数据

4.删除表中数据

五、临时表

1.创建表 

​编辑

2.插入数据(自增长)

​编辑

3.退出数据库

六、清空表,删除表内所有数据

1.delete

2.truncate

3.drop、truncate、delete对比

1.drop

2.truncate

3.delete

4.小结

七、克隆表

方法一:

方法二:

八、修改表名

九、增加字段

十、修改字段名

11、删除字段

12、用户管理

1.使用明文创建用户

2.重命名用户

3.删除用户

4.忘记root密码解决方法

4.1修改配置文件

4.2修改当前root用户密码

5.修改其他用户密码

13、用户授权

1.授权

1.数据库授权

​编辑

1.用qq用户登录

​编辑

2.测试权限 

​编辑

2.远程登录授权

1.没有授权之前

​编辑

2.授权

3.Navicat Premium测试

2.撤销权限

1.查看用户权限

2.撤销权限

3.刷新看一下Navicat Premium

​编辑

3.权限列表


前期准备

  • 先登录数据库

一、管理数据库

1.数据表结构解析

Field字段名称
Type数据类型
Null是否允许为空
Key主键
Default默认值
Extra扩展属性
Id例如:1 3 4

2.常用数据类型

int整型,定义整数类型的数据
float单精度浮点4字节32位;准确表示到小数点后6位
double双精度浮点8字节64位
char固定长度的字符类型
varchar可变长度的字符类型
text文本
image图片
decimal(5,2)5个有效长度数字,小数点后面有2位

主键是唯一的,但主键可以由多个字段构成

3.适用所有类型的修饰符

名称含义
NULL数据列可包含NULL值,默认值
Not  null数据列不允许包含NULL值,*为必填选项
default默认值
primary  key主键,所有记录中此字段的值不能重复,且不能为NULL
unique  key唯一键,所有记录中此字段的值不能重复,但可以为NULL
character  setname指定一个字符集

4.使用数值型的修饰符

名称作用
AUTO_INCREMENT自动递增,适用于整数类型
UNSIGNED无符号

二、SQL语句

SQL语句用于维护管理数据库,包括数据查询、数据更新、访问控制、对象管理等功能

1.SQL语言分类

  • DDL:数据定义语言,用于创建数据库对象,如库、表、索引等
  • DML:数据操纵语言,用于对表中的数据进行管理,用来插入、删除和修改数据库中的数据
  • DQL:数据查询语言,用于从数据表中查找符合条件的数据记录
  • DCL:数据控制语言,用于设置或者更改数据库用户或角色权限(数据控制语句,用于控制不通数据段直接的许可和访问级别的语句,这些语句定义了数据库、表、字段、用户的访问权限和安全级别,如COMMIT、ROLLBACK、GRANT、REVOKE)

三、Mysql——Create,Show,Describe,Drop

1.创建数据库 

create datadase nj;

2.查看数据库

show databases;

3.切换数据库

use nj;

4.创建数据表

create table k3(id int not null,name char(10) not null,score decimal(4,2),passwd char(40) default'',primary key(id));

5.查看数据表

show tables;

6.显示表结构

describe k3;

describe nj.k3;
##########
describe  数据库名.表名;###显示表结构

7.删除数据表

drop table k3;

drop table nj.k3;
###########
drop  table  库名.表名;###删除表

8.删除数据库

drop database nj(库名);

四、Mysql——INSERT, DELETE, UPDATE,SELECT

1.插入表数据

如果在mysql库中插入数据,会自动变成密文

insert into k3(id,name,score,passwd) values(1,'xzq',99,password('12345'));

password('12345'):密文 

insert into k3 values(2,'hyb',80,11111);

11111:明文 

insert into k3 values(3,'cyq',90,22222);

2.查看插入数据

select * from k3;

select * from k3 where name='hyb';

select * from k3 limit 2;

select * from k3 limit 3,2;

select * from k3\G;

3.修改表数据

update k3 set score='85' where name='hyb';

update k3 set score='92' where id='4';

4.删除表中数据

delete   from   k3;####删除k3表中所有数据,不会删除表

delete from k3 where name='clj';

五、临时表

临时表是隐形的

1.创建表 

create temporary table k4(id int(4) zerofill primary key auto_increment,name varchar(15) not null,cardid int(18) not null unique key,hobby varchar(50));

2.插入数据(自增长)

insert into k4 values(1,'xzq',11111,'cg');

insert into k4 values(2,'hyb',22222,'sg');

insert into k4 (name,cardid,hobby) values('cyq',33333,'ych');

3.退出数据库

退出数据库之后,内容就没有了

六、清空表,删除表内所有数据

1.delete

delect:清空数据后,会有遗留(当表中数据有1、2、3时;删除1后,数据会从2开始)

2.truncate

truncate:不会有任何遗留(当表中数据有1、2、3时;删除1后,数据会从1开始)

3.drop、truncate、delete对比

1.drop

  1. 属于DDL
  2. 不可回滚(无法恢复)
  3. 不可带where
  4. 表内容和结构删除
  5. 删除速度快

2.truncate

  1. 属于DDL
  2. 不可回滚
  3. 不可带where
  4. 表内容删除
  5. 删除速度快

3.delete

  1. 属于DML
  2. 可回滚(可回复)
  3. 可带where
  4. 表结构在,表内容要看where执行的情况
  5. 删除速度慢,需要逐行删除

4.小结

  1. 不再需要一张表的时候用drop
  2. 想删除部分数据行的时候用delete,并且带上where子句
  3. 保留表而删除所有数据的时候用truncate
  4. 删除速度:drop>truncate> delete
  5. 安全性 delete 最好

七、克隆表

方法一:

数据和字段都有;用作迁移

​create table 新表名 like 复制的表名;  ​
​复制格式,能够复制表的格式到新表,但是没有内容​
​insert into 新表名 select * from 复制的表名; ​
​复制原表内容到新表
create table k5 like k3;

insert into k5 select * from k3;

方法二:

主键和唯一键会丢失,只能复制数据

create table k6(select * from k3);

八、修改表名

rename###修改表名

alter table k6 rename k8;

九、增加字段

add###扩展表结构字段

alter table k8 add address varchar(88) default 'cg';

十、修改字段名

change###修改表结构字段

alter table k8 change name cyq char(22) unique key;

11、删除字段

drop###删除 字段

alter table k8 drop address;

12、用户管理

1.使用明文创建用户

create user 'qq'@'localhost' identified by '123';

2.重命名用户

rename user 'qq'@'localhost' to 'xx'@'localhost';
select user,authentication_string,host from user;

3.删除用户

drop user 'xx'@'localhost';

4.忘记root密码解决方法

4.1修改配置文件

vim /etc/my.cnf
#添加此行
skip-grant-tables
 
systemctl restart mysqld.service 

mysql -u root

4.2修改当前root用户密码

一直报错;解决方法:先刷新一下数据库

flush privileges;
###刷新数据库
set password for root@localhost=password('123');
###修改root密码

5.修改其他用户密码

set password for 'qq'@'localhost'=password('123');

13、用户授权

GRANT语句:专门用来设置数据库用户的访问权限。当指定的用户名不存在时,GRANT语句将会创建新的用户;当指定的用户名存在时, GRANT 语句用于修改用户信息。

1.授权

GRANT 权限列表 ON 数据库名/表名 TO '用户名'@'来源地址' [IDENTIFIED BY '密码'];
  • 权限列表:用于列出授权使用的各种数据库操作,以逗号进行分隔,如“select,insert,update”。使用“all”表示所有权限,可授权执行任何操作。
  • 数据库名.表名:用于指定授权操作的数据库和表的名称,其中可以使用通配符。
  • 用户名@来源地址’:用于指定用户名称和允许访问的客户机地址,即谁能连接、能从哪里连接。来源地址可以是域名、IP 地址,还可以使用“%”通配符,表示某个区域或网段内的所有地址,如“%.accp.com”、“192.168.48.%”等。
  • IDENTIFIED BY:用于设置用户连接数据库时所使用的密码字符串。在新建用户时,若省略“IDENTIFIED BY”部分, 则用户的密码将为空。

1.数据库授权

grant select on nj.* to 'qq'@'localhost' identified by '123';

1.用qq用户登录
 mysql -u qq -p123

2.测试权限 

2.远程登录授权

1.没有授权之前

2.授权
grant all privileges on nj.* to 'qq'@'192.168.91.%' identified by '123';

3.Navicat Premium测试

2.撤销权限

1.查看用户权限
show grants for 'qq'@'192.168.91.%';

2.撤销权限
revoke all on nj.* from 'qq'@'192.168.91.%';

3.刷新看一下Navicat Premium

3.权限列表

权限功能
select查询数据
insert插入数据
update更新数据
delete删除数据
create创建库、表
drop删除库、表
index建立索引
alter更改表属性
event事件
trigger on创建触发器

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

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

相关文章

Linux信号补充——信号发送和保存

三、信号的发送与保存 3.1信号的发送 ​ 必须有操作系统来保存信号,因为他是管理者; ​ 信号给进程的task_struct发送信号,在task_struct中维护了一个整数signal有0-31位,共32个bit位;对于信号的管理使用的是位图结…

阿里云2核4G服务器支持多少人在线?2C4G多少钱一年?

2核4G服务器支持多少人在线?阿里云服务器网账号下的2核4G服务器支持20人同时在线访问,然而应用不同、类型不同、程序效率不同实际并发数也不同,2核4G服务器的在线访问人数取决于多个变量因素。 阿里云2核4G服务器多少钱一年?2核4…

Python 深度学习第二版(GPT 重译)(三)

七、使用 Keras:深入探讨 本章涵盖 使用 Sequential 类、功能 API 和模型子类创建 Keras 模型 使用内置的 Keras 训练和评估循环 使用 Keras 回调函数自定义训练 使用 TensorBoard 监控训练和评估指标 从头开始编写训练和评估循环 您现在对 Keras 有了一些经…

水泊梁山108小坛酒之黑旋风 李逵

李逵是中国古典小说《水浒传》中的重要人物,李逵生的粗壮黝黑,绰号“黑旋风”。臂力过人,善使一双板斧,他也是一百零八将之一,梁山排座次时,位列第二十二位,是梁山第五位步军头领。

按面积筛选填充二值图中的孔洞-python源码

目录 🙋🙋需求 🍅🍅解决方案 🙋🙋需求 前提条件是二值图中0是背景,255是前景。 二值化后的影像中有很多小孔洞,现在需要按孔洞面积进行筛选,填充面积小于阈值的孔洞&…

华为综合案例-普通WLAN全覆盖配置(2)

组网图 结果验证 在AC_1和AC_2上执行display ap all命令,检查当前AP的状态,显示以下信息表示AP上线成功。[AC_1] display ap all Total AP information: nor : normal [1] ExtraInfo : Extra information P : insufficient power supply ---…

Unity 学习笔记 5.控制飞机飞行

目录 1.摄像机跟随的方法 2.鼠标按键响应 3.键盘按键响应 4.导入素材 5.让飞机向前飞 6.摄像机跟随飞机移动 7.鼠标控制飞机倾斜 8.键盘控制飞机飞行 下载源码 UnityPackage 1.摄像机跟随的方法 2.鼠标按键响应 3.键盘按键响应 4.导入素材 下载素材 步骤: 将…

C语言中的联合和枚举(未完)

1、联合体 联合体类型的声明 像结构体⼀样,联合体也是由⼀个或者多个成员构成,这些成员可以不同的类型。但是编译器只为最⼤的成员分配⾜够的内存空间。联合体的特点是所有成员共⽤同⼀块内存空间。所以联合体也叫:共⽤体。因为所有变量公用…

流畅的 Python 第二版(GPT 重译)(七)

第十三章:接口、协议和 ABCs 针对接口编程,而不是实现。 Gamma、Helm、Johnson、Vlissides,《面向对象设计的第一原则》 面向对象编程关乎接口。在 Python 中理解类型的最佳方法是了解它提供的方法——即其接口——如 “类型由支持的操作定义…

【RPG Maker MV 仿新仙剑 战斗场景UI (五)】

RPG Maker MV 仿新仙剑 战斗场景UI 五 战斗状态菜单原始RMMV 菜单窗口仿新仙剑代码仿新仙剑战斗状态菜单 战斗状态菜单 这部分比较简单,由于有主菜单的状态菜单打底所以开发上也容易些。 原始RMMV 菜单窗口 在原版的RMMV中显示的数据主要是人物的HP、MP、TP、和两…

鲁棒的基于表面势的GaN HEMT集成电路紧凑模型

来源:Robust Surface-Potential-Based Compact Model forGaN HEMT IC Design(TED 13年) 摘要 我们提出了一种精确且稳健的基于表面势的紧凑模型,用于模拟采用氮化镓高电子迁移率晶体管(GaN HEMT)设计的电…

JAVA实战开源项目:大学计算机课程管理平台(Vue+SpringBoot)

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 实验课程档案模块2.2 实验资源模块2.3 学生实验模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 实验课程档案表3.2.2 实验资源表3.2.3 学生实验表 四、系统展示五、核心代码5.1 一键生成实验5.2 提交实验5.3 批阅实…

【算法】雪花算法生成分布式 ID

SueWakeup 个人中心:SueWakeup 系列专栏:学习Java框架 个性签名:人生乏味啊,我欲令之光怪陆离 本文封面由 凯楠📷 友情赞助播出! 目录 1. 什么是分布式 ID 2. 分布式 ID 基本要求 3. 数据库主键自增 4. UUID 5. S…

PyTorch 深度学习(GPT 重译)(四)

第二部分:从现实世界的图像中学习:肺癌的早期检测 第 2 部分的结构与第 1 部分不同;它几乎是一本书中的一本书。我们将以几章的篇幅深入探讨一个单一用例,从第 1 部分学到的基本构建模块开始,构建一个比我们迄今为止看…

【Python + Django】ORM 数据库操作

前言: 虽然我们知道了用MySQL数据库 pymysql可以进行数据库的连接, 但这样的方式太繁琐了。 本文介绍一下Django为我们提供的更简单便捷的数据库连接方式:ORM框架。 ORM为我们翻译代码,使得我们的代码更加简洁易懂。 1 连接…

28-5 文件上传漏洞 - 图片马

一、文件内容检测 解析漏洞定义 控制文件是否被当做后端脚本处理 二、图片马绕过 图片马;在图片中包含一句话木马。利用解析漏洞如.htaccess 或文件包含漏洞,对图片马进行解析,执行其中的恶意代码。优势在于可以绕过多种防护机制。 三、图片马制作方法: # 一句话马示例…

Maven Deploy测试

文章目录 Maven环境deployreleaseRepo Manager演示 RefFAQ Maven 环境 jdk8maven v3.9.5 deploy mvn install将jar存到localRepository,mvn deploy把jar推送到远程仓库,然后可以像central库那样下载依赖。 release 基于git执行项目发版流程&#x…

【机器学习智能硬件开发全解】(六)—— 政安晨:通过ARM-Linux掌握基本技能【认知准备:体系结构与汇编指令】

ARM-Linux体系是指基于ARM架构的Linux操作系统体系,其它常见的体系还有x86-Linux体系等。ARM架构是一种常用于移动设备和嵌入式系统的处理器架构,如手机、平板电脑、智能手表等都广泛使用ARM处理器。 ARM-Linux体系基于Linux开源操作系统,并…

Python将字符串转换为datetime

有这样一些字符串: 1710903685 20240320110125 2024-03-20 11:01:25 要转换成Python的datetime 代码如下: import functools import re from datetime import datetime, timedelta from typing import Union# pip install python-dateutil from date…

51单片机学习笔记8 中断系统及定时器

51单片机学习笔记8 中断系统及定时器 一、中断的概念二、51单片机的中断1. 51单片机的中断源2. 中断的优先级3. 中断结构4. 外部中断解读5. 定时器中断6. 串口中断 三、中断相关寄存器1. IE 中断允许寄存器2. TCON 中断请求标志3. IP 中断优先级 四、中断号五、代码实现按键 &a…