【mysql】mysql命令使用大全,你想要的都在这里

在这里插入图片描述

✨✨ 欢迎大家来到景天科技苑✨✨

🎈🎈 养成好习惯,先赞后看哦~🎈🎈

🏆 作者简介:景天科技苑
🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。
🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi,flask等框架,linux,shell脚本等实操经验,网站搭建,数据库等分享。

所属的专栏:MySQL数据库入门,进阶应用实战必备
景天的主页:景天科技苑

文章目录

  • mysql常用快捷键
  • [windows] mysql服务命令
  • 登录数据库
  • 查看数据库端口号
  • 显示当前时间
  • 查看当前使用的数据库
  • 创建数据库
  • 查看数据库编码格式
  • 创建带有主键自增的表
  • 给数据库添加字段
  • 删除表字段
  • 更改表名
  • 修改表字段
  • 查看创建表的语句
  • 查看当前用户
  • 创建数据表时指定数据表的编码格式
  • 查看数据库中有哪些表
  • 修改数据库的编码格式
  • 退出数据库
  • 显示表结构
  • 删除数据库
  • 往表中插入数据
    • 添加多行数据
    • 主键自增的字段在全列插入式必须占位,用0或null,或default
    • 全列插入
    • MySQL默认值插入的注意事项
  • 删除用户
  • 查看具体某个用户的权限

大家好,我是景天,关于mysql数据库咱们今天继续深入探讨下!
MySQL使用SQL(Structured Query Language)作为其查询语言,它是一种用于管理关系型数据库的标准语言。

SQL的基本语法包括以下几个部分:

创建数据库

删除数据库

创建数据表

删除数据表

插入数据

更新数据

删除数据

查询数据

mysql常用快捷键

命令    简写    含义
clear    \c    清除当前输入语句
exit    \q    退出MySQL
print    \p    打印当前命令
quit    \q    退出MySQL
use        \u    切换数据库
charset    \C    切换到另一个字符集
help    \h    显示帮助信息
status    \s    从服务器获取MySQL的状态信息
?        \?    显示帮助信息
delimiter \d    设置语句分隔符快捷键:ctrl + l 清屏
快捷键:ctrl + c 终止
quit,exit  : 退出数据库
\q    : 退出
\G    : 垂直显示

查询加\G后不用加分号,垂直显示
在这里插入图片描述

[windows] mysql服务命令

net stop mysql
net start mysql

登录数据库

mysql -u用户名 -p密码 -h远程主机ip  -P(大写) 数据库端口号

如果在use database;报这个警告:
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

这是由于数据库中表非常多引起的,如果想更快的操作,进入数据库时加上-A参数即可

mysql -u用户名 -p密码 -h远程主机ip  -P(大写) 数据库端口号 -A

所有sql语句必须以英文分号结尾

数据库文件在配置文件中,设置数据库文件位置
在这里插入图片描述

进去之后,可以看到我们创建的数据库和表
在这里插入图片描述

查看数据库端口号

进入数据库后,查看数据库端口号语句:

show variables where variable_name = 'port';

显示当前时间

select now();

在这里插入图片描述

查看当前使用的数据库

select database();

在这里插入图片描述

创建数据库

create database <数据库名> charset=utf8 COLLATE=utf8_bin;

COLLATE=utf8_bin 设置排序规则,字段区分大小写
utf8_general_ci 不区分大小写,这个你在注册用户名和邮箱的时候就要使用

查看数据库编码格式

use 数据库名;
show variables like 'character_set_database';

在这里插入图片描述

创建带有主键自增的表

create table student(id int(6) unsigned primary key not null auto_increment,name varchar(20) not null,age int not null);

unsigned无符号

DECIMAL(5,2) 浮点型,总共5位,小数点两位

create table teacher(id int(6) unsigned primary key not null auto_increment, name varchar(6) not null, age tinyint default 0, gender enum('男', '女') default '男');

给数据库添加字段

添加表字段:alter table 表名 add 列名 数据类型 是否为空等属性;

alter table student add birthday date;

在开头添加字段
MySQL 默认在表的最后位置添加新字段,如果希望在开头位置(第一列的前面)添加新字段,
那么可以使用 FIRST 关键字,语法格式如下:

ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] FIRST;

在中间位置添加字段
MySQL 除了允许在表的开头位置和末尾位置添加字段外,还允许在中间位置(指定的字段之后)添加字段,
此时需要使用 AFTER 关键字,语法格式如下:

ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] AFTER <已经存在的字段名>;

在这里插入图片描述

删除表字段

alter table student drop birthday;

更改表名

alter table student rename student2;

修改表字段

alter table student modify birthday date;

modify只能修改字段类型或约束,不能修改字段名

若要修改字段名用change

alter table student change birthday birth date;

change既可以修改字段名,也可以修改数据类型,也可以修改约束

alter table class change name name varchar(5) not null;

在这里插入图片描述

查看创建表的语句

show create table 表名;show create table teacher;

查看创建数据库的语句:

show create database 库名;

在这里插入图片描述

查看当前用户

select user();

创建数据表时指定数据表的编码格式

create table tb_books (name varchar(45) not null,price double not null,bookCount int not null,author varchar(45) not null ) default charset = utf8mb4;

查看数据库中有哪些表

show tables;

修改数据库的编码格式

mysql>alter database <数据库名> charset=utf8mb4;

退出数据库

quit exit 或ctrl d 或 \q

显示表结构

desc 表名;

在这里插入图片描述

删除数据库

drop database 数据库名;
DROP DATABASE IF EXISTS 数据库名;

往表中插入数据

insert into 表名(字段1, 字段2) values(1,2)

添加多行数据

insert into 表名(字段1, 字段2) values(1,2),(3,4)

主键自增的字段在全列插入式必须占位,用0或null,或default

insert into student values(null, '张三', 19, '1999-10-9');

全列插入

全列插入字段名与字段值顺序必须一致,不能少,不能多

insert into 表名 values(1,2);

全列插入时,有默认值的字段如果不设置,可以用default来占位
insert into teacher VALUES(default,“灵鸽”,18,“女”);

MySQL默认值插入的用法

1.在创建表时指定默认值

在创建表时,可以通过DEFAULT关键字指定某个字段的默认值。例如:

CREATE TABLE `user` (t(11) NOT NULL AUTO_INCREMENT,ame` varchar(50) NOT NULL DEFAULT '',t(11) NOT NULL DEFAULT '0',PRIMARY KEY (`id`)noDB DEFAULT CHARSET=utf8;

ame字段的默认值为’'(空字符串),age字段的默认值为0。

2.在插入数据时指定默认值

在插入数据时,可以不指定某个字段的值,这样该字段就会自动填充默认值。例如:

ame’);

ame’,age字段的值为默认值0。

MySQL默认值插入的注意事项

1.默认值的类型必须与字段类型相同,否则会出现错误。

2.如果一个字段既有默认值又设置了NOT NULL约束,则在插入数据时必须为该字段指定一个值,否则会出现错误。

3.如果一个字段既有默认值又设置了UNIQUE约束,则在插入数据时如果指定的值已经存在,则会出现错误。

4.如果一个字段既有默认值又设置了AUTO_INCREMENT约束,则在插入数据时不需要为该字段指定值,系统会自动分配一个唯一的值。

MySQL默认值插入功能是非常实用的,可以大大提高数据插入的效率和准确性。在使用时需要注意一些细节问题,以免出现错误。希望本文的介绍能够帮助读者更好地理解和使用MySQL默认值插入功能。

针对有默认值的,非全列插入时,可以不写
在这里插入图片描述

修改表中数据:
update 表名 set 列1=值1, 列2=值2 where 条件;

update teacher set name = '灵鸽' where id = 1;

在这里插入图片描述

删除某条记录:

delete from 表名 where 条件;

delete from student where name = '王涛';

不加条件表示删除表中所有数据:

delete from student;

实际开发中并不会真正物理删除,而是采用逻辑删除

在表中加一列标识符:

alter table student add is_del tinyint default 0;

当要删除某条数据时,只需要修改标识符即可:

update student set is_del = 1 where id = 8;

删除表:

1、drop table 表名称 eg: drop table dbo.Sys_Test;
2、truncate table 表名称 eg: truncate table dbo.Sys_Test;
3、delete from 表名

drop,truncate,delete区别

1、drop (删除表):删除内容和定义,释放空间。简单来说就是把整个表去掉.以后要新增数据是不可能的,除非新增一个表。drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger)索引(index);依赖于该表的存储过程/函数将被保留,但其状态会变为:invalid。2、truncate (清空表中的数据):删除内容、释放空间但不删除定义(保留表的数据结构)。与drop不同的是,只是清空表数据而已。注意:truncate 不能删除行数据,要删就要把表清空。3、delete (删除表中的数据):delete 语句用于删除表中的行。delete语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。truncate与不带where的delete :只删除数据,而不删除表的结构(定义)4、truncate table 删除表中的所有行,但表结构及其列、约束、索引等保持不变。新行标识所用的计数值重置为该列的种子。如果想保留标识计数值,请改用delete。如果要删除表定义及其数据,请使用 drop table 语句。  
5、对于由foreign key约束引用的表,不能使用truncate table ,而应使用不带where子句的delete语句。由于truncate table 记录在日志中,所以它不能激活触发器。6、执行速度,一般来说: drop> truncate > delete。7、delete语句是数据库操作语言(dml),这个操作会放到 rollback segement 中,事务提交之后才生效;如果有相应的 trigger,执行的时候将被触发。

truncate、drop 是数据库定义语言(ddl),操作立即生效,原数据不放到 rollback segment 中,不能回滚,操作不触发 trigger。

操作记录 [文件的内容]
增:
# 一次插入一条数据
insert into t1(id,name) values(1,‘abcd’);
# 一次插入多条数据
insert into t1(id,name) values(2,“王文”),(3,“刘文波”),(4,“康裕康”),(5,“张保障”);
# 不指定具体字段,默认把字段全部插一遍
insert into t1 values(6,“沈思雨”);
# 可以具体指定某个字段进行插入
insert into t1(name) values(“张宇”);
查:
# * 所有
select * from t1;
# 查询单个字段
select id from t1;
# 查询多个字段
select id,name from t1;
在这里插入图片描述

改:
# update 表名 set 字段=值 where 条件
update t1 set name=“王伟” where id = 2;
# 不加条件有风险,一改全改,一定加where
update t1 set name=“王伟” ;

删:
# 删除的时候,必须加上where
delete from t1 where id = 1;
# 删除所有数据,一删全删,一定加where
delete from t1;
# 删除所有 (数据+重置id)
truncate table t1;

创建的数据库默认存放在 /var/lib/mysql目录下

通过以下命令,进行远程访问的授权

create user 'root'@'%' identified with mysql_native_password by 'Jixxxxxxxxx57@';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;

如多报这个错,需要先删除:

mysql> create user 'root'@'%' identified with mysql_native_password by 'Jinxxxxxx1357@';
ERROR 1396 (HY000): Operation CREATE USER failed for 'root'@'%'

删除用户

mysql> drop user 'root'@'%';
Query OK, 0 rows affected (0.01 sec)
flush privileges;

GRANT:赋权命令
ALL PRIVILEGES:当前用户的所有权限
ON:介词
.:当前用户对所有数据库和表的相应操作权限
TO:介词
‘root’@’%’:权限赋给root用户,所有ip都能连接
IDENTIFIED BY ‘123456’:连接时输入密码,密码为123456
WITH GRANT OPTION:允许级联赋权

navicat连接数据库操作
先创建远程连接权限用户

常规那里填写数据库所在服务器ip,端口号默认3306,远程连接用户名,密码
SSH那里填写远程的主机ip,用什么用户连接,端口号,root用户,密码

navicat创建数据库 字符集一般采用utf-8,排序规则选用utf-8 genearl_ci 忽略大小写的意思

MySQL 的utf8_bin和utf8_general_ci
utf8_bin 将字符串中的每一个字符用二进制数据存储,区分大小写;
utf8_general_ci 不区分大小写,ci为case insensitive的缩写,即大小写不敏感,为utf8默认编码。

utf8_general_cs 区分大小写,如果用户名和邮箱用这个 就会照成不良后果

当字段作为主键时,使用 utf8_bin 是可以存入大小写不一致的同一个单词的,
比如 name 字段中插入 ‘sam’ 和 ‘Sam’ 都是可以成功的,反之使用 utf8_genera_ci 排序规则,
存入 ‘sam’ 后是不能存入 ‘Sam’ 的,会报主键冲突错误的

主键要点上

MySQL8.0版本修改密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Jinxxxxxxx57@';

查看所有用户:

SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

在这里插入图片描述

在这里插入图片描述

查看具体某个用户的权限

show grants for 'yy'@'%'; 

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

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

相关文章

go设计模式之工厂方法模式

工厂方法模式 什么是工厂方法模式 工厂方法模式是一种创建型设计模式&#xff0c;它定义了一个用于创建对象的接口&#xff0c;让子类决定实例化哪一个类。工厂方法使一个类的实例化推迟到其子类。 这个接口就是工厂接口&#xff0c;子类就是具体工厂类&#xff0c;而需要创…

《QT实用小工具·四十三》历史编辑器(支持历史搜索 关键字匹配)

1、概述 源码放在文章末尾 该项目实现了在输入框中输入部分信息能全部展现之前的历史输入信息&#xff0c;支持历史搜索和关键词匹配&#xff0c;项目demo演示如下所示&#xff1a; 项目部分代码如下所示&#xff1a; #include "historymodel.h" #include <QM…

实时通讯技术 WebRTC 介绍

WebRTC WebRTC&#xff08;Web Real-Time Communication&#xff09;是一个支持网页浏览器进行实时语音对话或视频对话的技术。 历史 2010年5月&#xff0c;Google以6820万美元收购VoIP软件开发商Global IP Solutions的GIPS引擎&#xff0c;并改为名为“WebRTC”。WebRTC使用…

大语言模型Ollama

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl Ollama简介 Ollama是一个开源的大语言模型平台&#xff0c;它允许用户在本地环境中运行、创建和共享大型语言模型。Ollama提供了丰富的功能和特性&#xff0c;使得用户可以…

解决 Tomcat 跨域问题 - Tomcat 配置静态文件和 Java Web 服务(Spring MVC Springboot)同时允许跨域

解决 Tomcat 跨域问题 - Tomcat 配置静态文件和 Java Web 服务&#xff08;Spring MVC Springboot&#xff09;同时允许跨域 Tomcat 配置允许跨域Web 项目配置允许跨域Tomcat 同时允许静态文件和 Web 服务跨域 偶尔遇到一个 Tomcat 部署项目跨域问题&#xff0c;因为已经处理过…

mysql-sql-练习题-1

文章目录 环境注释建表 5张建库学生表课程表教师表分数表总表 语法书写顺序in学过/没学过完全相同 环境 Windows cmd&#xff08;普通用户/管理员&#xff09; mysql -uroot -pmysql版本&#xff0c;模式&#xff08;可自定义&#xff09; select version(),global.sql_mode…

在PR中使用 obs 和 vokoscreen 录制的视频遇到的问题

1. obs 录制的视频 在 Adobe Premiere Pro CS6 中只有音频没有视频 2. vokoscreen 录制的视频&#xff0c;没有声音 这是是和视频录制的编码有关系&#xff0c;也和显卡驱动关系 首先 obs 点击 文件 ---> 设置 录制的视频都是可以正常播放的&#xff0c;在PR不行。更…

用NuGet安装 Oracle ODP.NET

oracle官网原文&#xff1a;Using NuGet to Install and Configure Oracle Data Provider for .NET Using NuGet to Install and Configure Oracle Data Provider for .NET In this section, you will install ODP.NET NuGet packages from nuget.org. Select View > Solut…

【网站项目】图书推荐系统

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

C++高级特性:C/C++内存结构模型(十一)

1、内存结构 C/C语言一只被认为是一种底层语言&#xff0c;与其他语言不一样&#xff0c;对内存结构理解是C/C程序员从入门到入土的开端。 其他编程语言对内存管理是透明的&#xff0c;程序员无序关心可以认为是一个黑盒&#xff1b;而C/C不一样理解好内存结构有利于编写健壮性…

使用C++实现尾插式循环链表结构

在编码中避免不了使用链表&#xff0c;特别是循环链表&#xff0c;很多同学使用时为了省事直接使用C STL库中的链表实现&#xff0c;这样当然很简单也不容易出错&#xff0c;但同时也不可避免的带来了一些问题&#xff1a; 是半个黑盒&#xff0c;虽然能看源码&#xff0c;但是…

【禅道客户案例】同方智慧能源数智化转型新实践 禅道助力前行

同方智慧能源是同方股份有限公司的骨干企业。依托中核集团、清华大学的科技优势&#xff0c;坚持技术和资源双核驱动&#xff0c;基于30多年行业积淀&#xff0c;面向建筑、交通、工业、北方供热、数据中心等主要用能场景提供设计咨询、产品技术、投资建设、运营服务&#xff0…

DELL PowerEdge服务器通过iDRAC升级BIOS遇到的问题

本文对PowerEdge 12G系统&#xff0c;也就是iDRAC 7版本升级BIOS中遇到的几个问题做个总结&#xff0c;对于其他版本理论上应该也是适用的。如果还遇到其他问题&#xff0c;可以添加VX&#xff0c;VX号为 StorageExpert 进行进一步的分析探讨。 第一个问题&#xff0c;成功下载…

Android 11 裁剪系统显示区域(适配异形屏)

概述 在显示技术中&#xff0c;"OverScan"&#xff08;超扫描&#xff09;是一种调整显示图像边界的技术。通常情况下&#xff0c;OverScan 会在显示屏的边缘周围裁剪一小部分图像。这种裁剪是为了确保显示内容在屏幕上的完整可见性&#xff0c;尤其是在老式电视或投…

ZABAPGIT问题,导入github上的程序包时报 DBSQL_DUPLICATE_KEY_ERROR

跟踪程序发现在94050行 INSERT seocompotx FROM TABLE it_descriptions 报的错 刚开始&#xff0c;不想着改动他&#xff0c;把seocompotx 表的数据做下指定清楚&#xff0c;但是5次清楚后&#xff0c;果断注释掉 改成 MODIFY seocompotx FROM TABLE it_descriptions。 在用…

航片水体空洞修补

水体空洞情况如下图所示&#xff1a; 水体空洞修补结果如下图所示&#xff1a; 操作视频教程&#xff1a; MCM智拼图软件V8.5-漏洞空洞修补-水体修补_哔哩哔哩_bilibili

鸿蒙OpenHarmony【小型系统 编译】(基于Hi3516开发板)

编译 OpenHarmony支持hb和build.sh两种编译方式。此处介绍hb方式&#xff0c;build.sh脚本编译方式请参考[使用build.sh脚本编译源码]。 使用build.sh脚本编译源码 进入源码根目录&#xff0c;执行如下命令进行版本编译。 ./build.sh --product-name name --ccache 说明&…

基于数据挖掘的斗鱼直播数据可视化分析系统

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长 QQ 名片 :) 1. 项目简介 随着网络直播平台的兴起&#xff0c;斗鱼直播作为其中的佼佼者&#xff0c;吸引了大量用户和观众。为了更好地理解和分析斗鱼直播中的数据&#xff0c;本项目介绍了一个基于数据挖掘的斗鱼直播数据…

【AI导师写作】毕业论文答辩PPT生成

无论是大专、本科或者硕博&#xff0c;撰写毕业论文、开题报告、文献综述、任务书、课程论文、调研报告等都是必不可少的一件事。而这些任务重往往都需要我们花费大量的时间和精力&#xff0c;而“AI导师写作”在这一方面无疑提供了高效和便捷。可毕业季的论文答辩也是每个学者…

C#调用skiasharp实现绘制并拖拽图形

SkiaSharp是基于.net的跨平台二维图形库&#xff0c;封装的谷歌的Skia库&#xff0c;SkiaSharp支持在以下平台或运行时中使用&#xff0c;能够在图片中绘图&#xff0c;也提供控件在Winform、WPF等使用。本文学习skiasharp在Winform的基本用法&#xff0c;并参照参考文献5实现绘…