数据库:基本操作与用户授权

news2024/9/26 3:31:28

一 基本操作

1 SQL分类

  • 数据库:database

  • 表:table,行:row 列:column

  • 索引:index

  • 视图:view

  • 存储过程:procedure

  • 存储函数:function

  • 触发器:trigger

  • 事件调度器:event scheduler,任务计划

  • 用户:user

  • 权限:privilege

 2 SQL 语言规范

  • 在数据库系统中,SQL 语句不区分大小写,建议用大写

  • SQL语句可单行或多行书写,默认以 " ; " 结尾

  • 关键词不能跨多行或简写

  • 用空格和TAB 缩进来提高语句的可读性

  • 子句通常位于独立行,便于编辑,提高可读性

3 SQL语句分类

  • DDL: Data Defination Language 数据定义语言

CREATE,DROP,ALTER

  • DML: Data Manipulation Language 数据操纵语言

INSERT,DELETE,UPDATE

软件开发:CRUD

  • DQL:Data Query Language 数据查询语言

SELECT

  • DCL:Data Control Language 数据控制语言

GRANT,REVOKE

  • TCL:Transaction Control Language 事务控制语言

COMMIT,ROLLBACK,SAVEPOINT

查看数据库信息

 show databases;

查看数据库中的表信息 

use mysql

show tables

方法二

# 格式  show  tables  from  库名
 
 show tables from mysql;

方法三

纵向查看方式:

desc  表名\G;

显示数据表的结构

mysql> use mysql
mysql> describe user; 

Field:字段名称

type: 数据类型

Nu11 :是否允许为空

Key :主键

Type: 数据类型

Null :是否允许为空

key :主键

Default :默认值

Extra :扩展属性,例如:标志符列(标识了种子,增量/步长)1 2

id: 1 3 5 7

常见的数据类型

二 创建数据库和表

DDL语句可用于创建数据库对象,如库、表、索引等

使用DDL语句新建库、表

创建数据库


创建数据表

create table mcb (id int not null,name char(16) not null,score decimal(4,2),passwd char(45) default'',primary key (id));

或create 

 查看定义字段

select *from mcb250;

select * from where  id =2

三 对表中的数据进行管理

1 DDL语句删除库、表

删除指定的数据表

mysql> drop table auth;

usersQuery OK, 0 rows affected (0.01 sec)

方法①

drop table mcb38;


DROP TABLE[数据库名.1表名

方法②

删除指定的数据库

mysql> drop database auth;

Query OK, 0 rows affected (0.00 sec)

INSERT:插入新数据

UPDATE: 更新原有数据

DELETE:删除不需要的数据

 删除表,还能建;删除库就彻底没有希望了,需谨慎

2  查询

查询时可不指定条件 

查找符合条件的数据记录

 临时建立表

用于保存一些临时数据,不会长期存在


mysql> create temporary table TCL (id int(6) zerofill primary key auto_increment,name varchar(16) not null,cardid int(18) not null unique key,hobby varchar(600),sike int(11));
Query OK, 0 rows affected (0.00 sec)

mysql> select * from TCL;
Empty set (0.01 sec)

mysql> insert into TCL values(2,'mg',01,'huaqian',10);
Query OK, 1 row affected (0.00 sec)

mysql> select * from TCL;
+--------+------+--------+---------+------+
| id     | name | cardid | hobby   | sike |
+--------+------+--------+---------+------+
| 000002 | mg   |      1 | huaqian |   10 |
+--------+------+--------+---------+------+
1 row in set (0.00 sec)

mysql> 

克隆表

第一种方式:迁移表 表的结构 属性 约束 数据

 第二种方式:备份数据 表的复制

三 表结构的管理

修改表名和表结构

扩展表结构(增加字段)

 修改字段(列)名,添加唯一键

删除表达内容 

 四 数据库的用户授权

1.新建用户

格式:
create user '用户名'@'来源地址' [identified by [passwd] '密码'];

2 加密密码创建用户:

 SELECT PASSWORD('密码');    #先获取加密的密码
 ​
 CREATE USER 'm'@'localhost' IDENTIFIED BY PASSWORD '加密的密码';

 3 查看用户密码的信息

用户信息存放在 mysql 数据库下的 user 表(MySQL 服务下存在一个系统自带的 mysql 数据库

 

4 查看用户信息,

创建用户保存在mysql数据库的user表里

use mysql;
 
select user,authentication_string,Host from user;

5 登录用户用户名的更改

重命名指定
rename user 'mcb550'@'locahost' to 'mcb250'@'localhost';
 修改用户密码
 set password = password('3721');

 删除登录用户

drop user 'mcb550'@'localhost';

修改其他用户密码 

 6 忘记root密码的解决方法

① 修改 /etc/my.cnf 配置文件,免密登录mysql

② 重启数据库服务

③ 无密码登录之后,修改数据库用户中的 root 密码


update mysql.user set authentication_string = password('250') where user='root';
#用于更新MySQL数据库系统表mysql.user中的用户root的密码。AUTHENTICATION_STRING是MySQL 5.7.0以后版本中用于存储密码的字段名

⑤ 撤销添加的免密码认证设置,重启数据库服务(玩玩就行)

五 管理登录用户的权限

授权操作

[NO_AUTO_CREATE_USER], 即在grant语句中禁止创建空密码的账户,使用grant语法创建用户必须带上 “identified by”关键字设置账户密码,否则就被认为是非法的创建语句。 

 查看用户已有权限的操作

show grants;
#查看当前用户(自己)的权限
 

show grants for 'NBA'@'localhost';
 
#查看其他用户的权限

grant select,insert on study.class to 'mcb'@'localhost';
 
show grants for 'mcb'@'localhost';

 撤销用户权限 

 revoke 权限列表/ALL on 库名.表名 from '用户名'@'来源地址';

用户的远程登录

 grant all privileges on *.* to 'NBA'@'192.168.44.%' identified by '123';

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

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

相关文章

文件操作:文本文件(写/读)

文件操作可以将数据永久化&#xff0c;C中对文件操作需要包含头文件 < fstream > 文件类型分为两种&#xff1a; 1. 文本文件&#xff1a;文件以文本的ASCII码形式存储在计算机中 2. 二进制文件&#xff1a;文件以文本的二进制形式存储在计算机中&#xff0c;…

理解计算属性等

计算属性 计算属性的作用是将写在computed内的写了对应的属性名&#xff0c;属性值都是函数&#xff0c;将这属性值的函数调用之后的返回值赋给属性名的变量。因此其实计算属性内的是值&#xff0c;不是方法&#xff0c;因此写插值等语句是只是写变量&#xff0c;而不是调用。且…

电气接点在线测温解决方案--ARTM电气接点在线测温装置

ARTM系列电气接点在线测温装置适用于高低压开关柜内电缆接头、断路器触头、刀闸开关、高压电缆中间头、干式变压低压大电流等设备的温度监测&#xff0c;防止在运行过程中因氧化、松动、灰尘等因素造成接点接触电阻过大而发热成为安全隐者、患&#xff0c;提高设备安全保障&…

Linux 磁盘的一生

注意&#xff1a;实验环境都是使用VMware模拟 ​ 磁盘接口类型这里vm中是SCSI&#xff0c;扩展sata,ide(有时间可以看看或者磁盘的历史) ​ 总结&#xff1a;磁盘从有到无—类似于建房子到可以住 ————————————————————————————————————…

【MyBatis】in根据查询的顺序返回结果

目标效果&#xff1a;根据in中元素的顺序返回结果 查询id为&#xff08;2&#xff0c;4&#xff0c;1&#xff0c;3&#xff09;的数据&#xff0c;并按此顺序返回 第一次尝试 select id, name from tb_shop where id in (2, 4, 1, 3);期待效果 实际效果 正确的语句 select …

Chrome浏览器扩展插件开发

manifest.json: {"manifest_version": 3,"name": "ChatGPT学习","version": "0.0.1","description": "ChatGPT,GPT-4,Claude3,Midjourney,Stable Diffusion,AI,人工智能,AI","icons": {&quo…

Effect:由渲染本身引起的副作用

React 组件中的两种逻辑类型&#xff1a; 渲染逻辑代码 位于组件的顶层&#xff0c;接收 props 和 state&#xff0c;进行转换&#xff0c;返回屏幕上看到的 JSX&#xff0c;只计算不做其他任何事情&#xff1b;事件处理程序 嵌套在组件内部的函数&#xff0c;由特定的用户操作…

一句命令解决huggingface.co无法下载模型问题

血来潮从github上下载的模型&#xff0c;在运行demo点批发的时候&#xff0c;发现大模型并不能直接从huggingface上直接下载&#xff0c;这是因为众所周知的网络问题。 其实只要一句命令就可以解决这个问题。 export HF_ENDPOINThttps://hf-mirror.com修改HF_ENDPOINT系统变量…

极客早报第3期:罗斯否认插足凯特王妃婚姻;清明放假调休3天;国产伟哥去年销售近13亿

一分钟速览新闻点&#xff01; 每日简报 罗斯否认插足凯特王妃婚姻清明放假调休3天国产伟哥去年销售近13亿男子持台球杆殴打2名女店员被抓今日春分淀粉肠小王子带货日销售额涨超10倍[高中生被打伤下体休学 邯郸通报](https://www.baidu.com/s?wd高中生被打伤下体休学 邯郸通报…

表的约束【mysql数据库】

表中一定要有各种约束&#xff0c;通过约束来保证未来插入表格的数据是符合预期的。约束本质是通过技术手段倒闭程序员插入正确的数据。反过来&#xff0c;站在mysql视角&#xff0c;插入进来的数据&#xff0c;都是符合数据约束的。 约束的最终目标&#xff1a;保证数据的完整…

腾讯云优惠券、代金券、折扣券领取方法及使用教程

腾讯云作为国内领先的云计算服务提供商&#xff0c;一直致力于为广大用户提供高效、稳定、安全的云服务。为了吸引用户上云&#xff0c;腾讯云经常推出各种优惠活动&#xff0c;其中就包括腾讯云优惠券。下面小编将详细介绍腾讯云优惠券的相关信息&#xff0c;包括种类、领取入…

力扣---完全平方数

思路&#xff1a; 还是比较好想的&#xff0c;g[i]定义为和为 i 的完全平方数的最少数量。那么递推关系式是g[i]min(g[i-1],g[i-4],g[i-9],...)1&#xff0c;数组初始化是g[0]0,g[1]1。注意这里要对g[0]初始化&#xff0c;&#xff08;举个例子&#xff09;因为在遍历到g[4]时&…

算法系列--递归

一.如何理解递归 递归对于初学者来说是一个非常抽象的概念,笔者在第一次学习时也是迷迷糊糊的(二叉树遍历),递归的代码看起来非常的简洁,优美,但是如何想出来递归的思路或者为什么能用递归这是初学者很难分析出来的 笔者在学习的过程中通过刷题,也总结出自己的一些经验,总结来…

[数据集][目标检测]高质量铁路轨道缺陷检测数据集VOC+YOLO格式1050张6类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;1050 标注数量(xml文件个数)&#xff1a;1050 标注数量(txt文件个数)&#xff1a;1050 标注…

Altair CFD™ 无比宽广的 CFD 仿真解决方案范围

Altair CFD 提供了一套全面的工具来解决流体力学问题。无论您是要对建筑物进行热分析、预测车辆空气动力学、优化齿轮箱加油、降低冷却风扇噪音还是开发创新医疗设备&#xff0c;Altair CFD 都可以提供帮助。 提供多种方法&#xff0c;包括&#xff1a; 用于热和通用应用的通…

公职人员上班时间看股票,该不该上纲上线?

公职人员炒股是一个复杂的问题&#xff0c;需要综合考虑多方面的因素。首先&#xff0c;炒股作为一种个人投资行为&#xff0c;本身并不违法&#xff0c;但在特定情况下&#xff0c;公职人员参与股市投资可能会引发一些问题和争议。 对于公职人员炒股&#xff0c;关键是要确保其…

vue@2.7.16 使用less、less-loader

遇到问题&#xff0c;npm install less-loader7.3.0 --save安装好less-loader后&#xff0c;执行npm run serve 项目运行不起来&#xff0c;排查后发现在安装less-loader后就提示需要安装less&#xff0c;正确的安装应如下&#xff1a; npm install less less-loader7.3.0 --sa…

docker实践教程,mysql中使用自定义目录实现数据挂载(二)

有一些知识点在docker实践教程&#xff0c;nginx中使用数据卷映射修改前端网页&#xff08;一&#xff09;&#xff0c;就不累述了。 下载mysql的镜像 docker pull mysql创建容器 先去Docker Hub看看mysql是怎么使用的 可知&#xff0c;运行命令为&#xff1a;&#xff08;…

vue-admin-template极简的 vue admin 管理后台的动态路由实现方法

项目源码地址&#xff1a;GitHub - PanJiaChen/vue-admin-template: a vue2.0 minimal admin template 注意&#xff1a;项目中的路由均写在 src\router\index.js 中&#xff0c;其中默认包含 constantRoutes 数组&#xff0c;这是固定路由&#xff0c;无论用户是什么角色&…

数据结构从入门到精通——冒泡排序

冒泡排序 前言一、冒泡排序的基本思想二、冒泡排序的特性总结三、冒泡排序的动画演示四、冒泡排序的具体代码test.c 前言 冒泡排序是一种简单的排序算法&#xff0c;通过重复遍历待排序数列&#xff0c;比较相邻元素的大小并交换位置&#xff0c;使得每一轮遍历后最大&#xf…