【SQL】mysql常用命令
为方便查询,特整理MySQL常用命令。
约定:$
后为Shell环境命令,>
后为MySQL命令。
1 常用命令
第一步,连接数据库。
$ mysql -u root -p # 进入MySQL bin目录后执行,回车后输入密码连接。# 常用参数:-h 服务器地址,-u 用户名,-p 密码,-P 端口
然后是一些常用的命令。
数据库操作:
1 > create database dbname; # 创建数据库,数据库名为dbname 2 > CREATE DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; # 创建test数据库,并指定字符集 3 > show databases; # 显示所有数据库 4 > alter database character set utf8; # 修改数据库字符集 5 > use test; # 选择test数据库 6 > status; # 查看当前选择(use)的数据库 7 > drop database test; # 删除test数据库 8 > truncate 表名; # 快速清空表内容(数据量太大用deleter慢,可以用truncate) 9 > delete from 表名; # 清空表内容
数据表操作:
1 > show tables; # 显示所有表 2 > describe tablename; # 表结构详细描述 3 > desc tablename; # 同 describe 命令一样 4 > create table newtable like oldtable; # 复制表结构 5 > insert into newtable select * from oldtable; #复制表数据 6 > rename table tablelname to new_tablelname # 重命名表,同时命名多个表用逗号“,”分割 7 > drop table tablename; # 删除表
界面操作:
> select version(),current_date; # 显示当前mysql版本和当前日期 > exit
2 创建数据表
create table
命令用来创建数据表,格式:
create table <表名> (<字段名1> <类型1> [,..<字段名n> <类型n>]);
数据的类型之后还可以包含:数据宽度 + 是否为空 + 是否主键 + 自动增加 + 默认值,它们书写时不限顺序。但是字段名和字段类型必须是第一和第二位。例如,建立一个名为user的表:
mysql> create table user(-> id int(4) not null primary key auto_increment,-> name char(20) not null,-> sex int(4) not null default '0',-> degree double(16,2)-> );
3 修改root的密码
$ mysqladmin -u root password # 原始密码为空的情况 New password: <输入新的密码> Confirm new password: <再次输入新密码>$ mysqladmin -u root -p password # 原始密码不为空的情况 Enter password: <输入旧的密码> New password: <输入新的密码> Confirm new password: <再次输入新密码>$ mysqladmin -uroot -p123456 password # 原始密码不为空的情况,效果和第二种方法一样,只是显式的输入了原始密码 New password: <输入新的密码> Confirm new password: <再次输入新密码>
4 备份和恢复
$ mysqldump -u root -p dbname > dbname.sql # 备份整个数据库(包含表结构和数据) $ mysqldump -u root -p -d dbname > dbname.sql # 备份数据库表结构,不包含数据, $ mysqldump -u root -p dbname tablename > tablename.sql # 备份数据库中的某张数据表(包含表结构和数据) $ mysqldump -u root -p dbname tablename1 tablename2 > tables.sql # 备份数据库中2张数据表 $ mysqldump -u root -p -d dbname tablename > tablename.sql # 备份数据库中的某张数据表的表结构(不含数据)$ mysqladmin -u root -p create dbname # 恢复数据库步骤1:创建数据库 $ mysql -u root -p dbname < dbname.sql # 恢复数据库步骤2:恢复数据
如果是网络上的服务器,可以在mysqldump
之后用-h
指定服务器地址,例如:
$ mysqldump -h sql.domain.com -u root -p dbname > dbname.sql
导出查询结果到本地计算机:
mysql -h127.0.0.1 -P3306 -uroot -proot -Ae "use test;select * from user where status=4 order by id desc;" > "C:\Users\Gary\user.txt"
5 用户和权限管理
MySQL 默认有个root
用户,但是这个用户权限太大,一般只在管理数据库时候才用。如果在项目中要连接 MySQL 数据库,则建议新建一个权限较小的用户来连接。在 MySQL 命令行模式下输入如下命令可以为 MySQL 创建一个新用户:
> CREATE USER username IDENTIFIED BY '123456'; # 其中,username是用户名,123456是用户密码
新用户创建完成,但是此刻如果以此用户登陆的话,会报错,因为我们还没有为这个用户分配相应权限,分配权限的命令是grant
,格式为:
GRANT <权限> ON <数据库>.<表名> TO <用户名>@<登录主机> IDENTIFIED BY "<密码>"
其中,权限可以是:all
、select
、insert
、delete
、update
、drop
等值。
于是,用下面的命令就可以执行特定的功能:
> GRANT ALL ON *.* TO 'username'@'localhost' IDENTIFIED BY '123456'; # 给用户 username 分配所有数据库的所有权限 > REVOKE ALL ON *.* FROM 'username'@'localhost'; # 如果觉得上面的权限太大,用 REVOKE 删除原来权限 > GRANT ALL ON dbname.* TO 'username'@'localhost' IDENTIFIED BY '123456'; # 重新授予仅在dbname数据库上的权限 > GRANT SELECT, UPDATE ON dbname.* TO 'username'@'localhost' IDENTIFIED BY '123456'; # 仅授予select、update权限,无法执行insert、delete等命令 > FLUSH PRIVILEGES; # 每当调整权限后,通常需要用这个命令刷新权限 > DROP USER username@localhost; # 删除用户
仔细观察上面几个命令,可以发现不管是授权,还是删除授权,都要指定响应的host
(即@
符号后面的登录主机,主机也可以用%
通配符表示所有主机,或者192.168.1.%
表示特定主机段)。因为以上及格命令实际上都是在操作 mysql 数据库中的user表,可以用如下命令查看相应用户及对应的host
:
SELECT user, host FROM user;
当然,这个表中还包含很多其它例如用户密码、权限设置等很多内容,操作时候尤其需要小心。
相关文章:
【SQL】mysql常用命令
为方便查询,特整理MySQL常用命令。 约定:$后为Shell环境命令,>后为MySQL命令。 1 常用命令 第一步,连接数据库。 $ mysql -u root -p # 进入MySQL bin目录后执行,回车后输入密码连接。# 常用参数&…...

阿里云引领智算集群网络架构的新一轮变革
阿里云引领智算集群网络架构的新一轮变革 云布道师 11 月 8 日~ 10 日在江苏张家港召开的 CCF ChinaNet(即中国网络大会)上,众多院士、教授和业界技术领袖齐聚一堂,畅谈网络未来的发展方向,聚焦智算集群网络的创新变…...

几何合理的分片段感知的3D分子生成 FragGen - 评测
FragGen 来源于 2024 年 3 月 25 日 预印本的文章,文章题目是 Deep Geometry Handling and Fragment-wise Molecular 3D Graph Generation, 作者是 Odin Zhang,侯廷军,浙江大学药学院。FragGen 是一个基于分子片段的 3D 分子生成模…...

Python爬虫下载新闻,Flask展现新闻(2)
上篇讲了用Python从新闻网站上下载新闻,本篇讲用Flask展现新闻。关于Flask安装网上好多教程,不赘述。下面主要讲 HTML-Flask-数据 的关系。 简洁版 如图,页面简单,主要显示新闻标题。 分页,使用最简单的分页技术&…...
监控易监测对象及指标之:全面监控华为FusionInsight服务
随着大数据技术的广泛应用,华为FusionInsight以其卓越的性能和稳定性,成为了众多企业处理和分析海量数据的首选平台。然而,为了确保FusionInsight服务的持续稳定运行,对其进行全面监控至关重要。本文基于监控易工具,对…...
SQL面试题——蚂蚁SQL面试题 会话分组问题
会话分组问题 这里的分组不是简单的分组,而是会话的分组。 比如说,进入一个网站以后,可以连续的点击很多个页面,后台会记录用户的行为日志; 如果T日上午连续点击几个页面后退出了网站,直到第二天的下午才再次进入网站,单单从时间线上来看,昨天退出的那条日志跟今天进…...

nfs服务器--RHCE
一,简介 NFS(Network File System,网络文件系统)是FreeBSD支持的文件系统中的一种,它允许网络中的计 算机(不同的计算机、不同的操作系统)之间通过TCP/IP网络共享资源,主要在unix系…...

React--》如何高效管理前端环境变量:开发与生产环境配置详解
在前端开发中,如何让项目在不同环境下表现得更为灵活与高效,是每个开发者必须面对的挑战,从开发阶段的调试到生产环境的优化,环境变量配置无疑是其中的关键。 env配置文件:通常用于管理项目的环境变量,环境…...
Javascript高级—函数柯西化
函数柯西化(经典面试题) // 实现一个add方法,使计算结果能够满足如下预期: add(1)(2)(3) 6; add(1, 2, 3)(4) 10; add(1)(2)(3)(4)(5) 15;function add() {// 第一次执行时,定义一个数组专门用来存储所有的参数var…...
Sql进阶:字段中包含CSV,如何通过Sql解析CSV成多行多列?
Sql进阶 一、问题描述二、解决思路<一>、拆成多行<二>、拆成多列 三、代码实现 一、问题描述 Oracle数据库中某个字段value是CLOB类型,存的是csv格式的数据,如下所示 classnovalue1name,age,sex,… ‘李世民’,20,‘M’,…’ ‘李治’,18,‘M’,… ‘武则天’,16…...

linux之调度管理(5)-实时调度器
一、概述 在Linux内核中,实时进程总是比普通进程的优先级要高,实时进程的调度是由Real Time Scheduler(RT调度器)来管理,而普通进程由CFS调度器来管理。 实时进程支持的调度策略为:SCHED_FIFO和SCHED_RR。 SCHED_FIFOÿ…...
mybatis-plus: mapper-locations: “classpath*:/mapper/**/*.xml“配置!!!解释
和mybatis一样的道理!!!!如果不指定这个配置,通常要求 XML 映射文件和 Mapper 接口的包名和结构相同!!!! 如果没有配置 mapper-locations,通常文件结构应遵循…...

nacos-operator在k8s集群上部署nacos-server2.4.3版本踩坑实录
文章目录 操作步骤1. 拉取仓库代码2. 安装nacos-operator3. 安装nacos-server 坑点一坑点二nacos-ui页面访问同一集群环境下微服务连接nacos地址配置待办参考文档 操作步骤 1. 拉取仓库代码 (这一步主要用到代码中的相关yml文件,稍加修改用于部署容器&…...
面试篇-项目管理
⼀、构建管理 项目为什么选择Maven构建? 选择Maven进行项目构建有以下几个主要原因: 1. 依赖管理:Maven 提供了强大的依赖管理功能,可以自动下载项目所需的第三方库和依赖,并且可以管理这些依赖的版本、范围等信息。这简化了项…...
数仓建设之Oracle常见语法学习
1. 字符串截取 select substr(AAA-BBB, 1, instr(AAA-BBB, -, -1) - 1) 值 from dual; --AAA select substr(AAA-BBB, instr(AAA-BBB, -, -1) 1) 值 from dual; --BBB2. 帆软报表有参数SQL select a.agency_code, a.agency_name, a.agency_typefrom dw.dim_ta_subred_agency…...

物联网智能技术的深入探讨与案例分析
✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…...
python语言基础-5 进阶语法-5.2 装饰器-5.2.2 简单装饰器
声明:本内容非盈利性质,也不支持任何组织或个人将其用作盈利用途。本内容来源于参考书或网站,会尽量附上原文链接,并鼓励大家看原文。侵删。 5.2.2 简单装饰器 装饰器的形式就是一个闭包,下面是一个简单的定义并使用…...

TransFormer--解码器:带掩码的多头注意力层
TransFormer--解码器:带掩码的多头注意力层 以英法翻译任务为例,假设训练数据集样本如下表所示。 原句目标翻译I am goodJe vais bienGood morningBonjourThank you very muchMerci beaucoup 上表所示的数据集由两部分组成:原句和目标句。在…...

【ArcGIS微课1000例】0130:图层组详解与使用
文章目录 一、图层组概述二、创建图层组三、在图层组中管理图层四、对话框中图层组的列表一、图层组概述 图层组包含其他图层。图层组有助于对地图中相关类型的图层进行组织,并且可用于定义高级绘制选项。例如,假设在地图上有两个图层分别用于表示铁路和高速公路。您可将这些…...

Linux中配置ntp服务
NTP:是Network Time Protocol的缩写又 称网络时间协议,是用来使计算机时间同步化的一种协议,用来同步网络中各主机的时 间,在linux系统中早期使用ntp来实现,后来使用chrony来实现。Chrony 应用本身已经有 几年了&#…...

智慧医疗能源事业线深度画像分析(上)
引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...
逻辑回归:给不确定性划界的分类大师
想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命
在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...

Python爬虫(一):爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...

DBAPI如何优雅的获取单条数据
API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...

k8s业务程序联调工具-KtConnect
概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...

mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...

优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...
Mysql8 忘记密码重置,以及问题解决
1.使用免密登录 找到配置MySQL文件,我的文件路径是/etc/mysql/my.cnf,有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...

力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...