Mysql——基础命令集合

目录

前期准备

先登录数据库

一、管理数据库

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-tablessystemctl 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.mzph.cn/news/759270.shtml

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

相关文章

模型部署 - onnx的导出和分析 - onnx 的架构和 onnx helper 的使用 - 学习记录

onnx 的架构和 onnx helper 的使用 简介一、onnx 的架构二、onnx 实践2.1、 create - linear.onnx2.1.1、要点一:创建节点2.1.2、要点二:创建张量2.1.3、要点三:创建图 2.2、 create - onnx.convnet2.3、使用 onnx helper 导出的基本流程总结…

理解数据库习题

1.选择 (1)现实世界中客观存在并能相互区别的事物称为( )。 A.实体 B.实体集 C字段 D 记录 (2)下列实体类型的联系中,属于一对一联系的是( )A.教研室对教师的所属联系 …

[BT]BUUCTF刷题第2天(3.20)

第2天(共5题) Web [ACTF2020 新生赛]Exec Payload:target127.0.0.1;cat /flag 分号;在许多shell中用作命令分隔符,意味着在执行完前一个命令(这里是设置target变量)后,接着执行cat /flag命令…

企业工商年报注册注销商标注册异常处理小程序开源版开发

企业工商年报注册注销商标注册异常处理小程序开源版开发 1、独立业务模型包括:企业工商年报、企业工商登记注册、企业注销登记、企业异常处理。 2、通用业务模型适合各种业务,比如:商标注册代理、财务会计服务、企业版权登记登。 当然&…

从深度伪造到恶意软件:网络安全迎来AI新挑战

如今,有越来越多的恶意行为者开始利用AI大语言模型开发能够绕过 YARA 规则的自我增强型恶意软件。 根据近日Recorded Future 发布的一份新报告:AI可以通过增强小型恶意软件变种的源代码来规避基于字符串的 YARA 规则,从而有效降低检测率。 …

这里是一本关于 DevOps 企业级 CI/CD 实战的书籍...

文章目录 📋 前言🎯 什么是 DevOps🎯 什么是 CI/CD🎯什么是 Jenkins🧩 Jenkins 简单案例 🎯 DevOps 企业级实战书籍推荐🔥 参与方式 📋 前言 企业级 CI/CD 实战是一个涉及到软件开发…

Linux CentOS 7.6安装Redis 6.2.6 详细保姆级教程

1、安装依赖 //检查是否有依赖 gcc -v //没有则安装 yum install -y gcc2、下载redis安装包 //进入home目录 cd /home //通过wget下载redis安装包 wget https://download.redis.io/releases/redis-6.2.6.tar.gz //解压安装包 tar -zxvf redis-6.2.6.tar.gz3、编译 //进入解压…

【Linux】如何使用git命令行与远程仓库建立连接(以Gitee为例)

目录 01.创建仓库 开源 初始化​编辑 设置模版 ​编辑 02.下载仓库到本地 03.提交贡献到远程仓库 01.创建仓库 首先在Gitee网站上登录你的账户,并创建一个新的仓库,输入仓库名称后就会自动生成仓库路径 开源 可以选择你的仓库是否开源。 开源仓…

企业如何选择一个开源「好」项目?

开源 三句半 oss-roast 需求明确是关键 风险考量要周全 开源虽好不白捡 别忘合规! 显然,开源已成为一股不可阻挡的洪流,企业拥抱开源,积极参与开源项目不仅是响应技术潮流的必然选择,更是实现自身技术创新、市场拓展等…

AI开源概览及工具使用

一、前言 随着ChatGPT热度的攀升,越来越多的公司也相继推出了自己的AI大模型,如文心一言、通义千问等。各大应用也开始内置AI玩法,如抖音的AI特效; 关联资源:代码 GitHub、相关论文、项目Demo、产品文档、Grok Ai、gr…

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

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

【高频SQL (进阶版)】1398.购买了产品A和产品B却没有购买产品C的顾客Plus

思路: 思路1:买了A,买了B,没有买C。 按人分组统计,A的数>0, B的数>0 ,C的数 0。 思路2:反过来查,用户id。在产品表里,产品名为A,为B的用户列表里,但是不在产品…

ab (Apache benchmark) - 压力/性能测试工具

Apache benchmark(ab) 安装window安装使用方法 - bin目录运行使用方法 - 任意目录运行 linux安装 基本命令介绍常用参数:输出结果分析: ab的man手册 安装 window安装 官网下载链接:https://www.apachehaus.com/cgi-bin/download…

c++ 指针大小

C的一个指针占内存几个字节? 结论: 取决于是64位编译模式还是32位编译模式(注意,和机器位数没有直接关系) 在64位编译模式下,指针的占用内存大小是8字节在32位编译模式下,指针占用内存大小是4字…

分布式之SleuthZipkin

Sleuth&Zipkin 学习当前课程,比必须要先掌握SpringCloud的基本应用(Nacos,Feign调用) 对Docker有一定的了解,知道docker-compose.yml如何启动一个容器 RabbitMQ,Elasticsearch有一定了解。 而且学习…

[C++]20:unorderedset和unorderedmap结构和封装。

unorderedset和unorderedmap结构和封装 一.哈希表&#xff1a;1.直接定址法&#xff1a;2.闭散列的开放定址法&#xff1a;1.基本结构&#xff1a;2.insert3.find4.erase5.补充&#xff1a;6.pair<k,v> k的数据类型&#xff1a; 3.开散列的拉链法/哈希桶&#xff1a;1.基…

mabatis 下

mybatis 原生的API&注解的方式MyBatis-原生的API调用快速入门需求快速入门代码实现 MyBatis-注解的方式操作快速入门需求快速入门代码实现注意事项和说明 mybatis-config.xml配置文件详解说明properties属性settings全局参数定义typeAliases别名处理器typeHandlers类型处理…

几个特殊的控件

目录 一、3个button 1、button 2、linkbutton 3、ImageButton Enabled属性 二、Image控件 1、使用原因 2、使用方式 法一&#xff1a;指明路径 法二&#xff1a;同一目录 3、使用实例 &#xff08;1&#xff09;要求 &#xff08;2&#xff09;操作 三、Typelink和…

对https://registry.npm.taobao.org/tyarn的请求失败,原因:证书过期

今天安装tyarn时&#xff0c;报错如下&#xff1a; request to https://registry.npm.taobao.org/tyarn failed, reason: certificate has expired 原来淘宝镜像过期了&#xff0c;需要重新搞一下 记录一下解决过程&#xff1a; 1.查看当前npm配置 npm config list 2.清空…

JAVAEE多线程——锁

文章目录 什么是锁为什么需要锁如何加锁synchorized 的使用synchronized 修饰方法synchronized 修饰代码块 死锁问题那种场景会造成死锁死锁的本质由于内部存在无限循环导致的死锁 死锁的第二种情况哲学家吃饭模型造成死锁的必要条件 什么是锁 首先我们来解释一下什么是锁呢&a…