数据库基础及用户管理授权

数据库概念

关系型数据库 数据结构二维表格 库 -> 表 -> 列(字段):用来描述对象的的一个属性;行:用来描述一个对象的信息

mysql(5.7/8.0) maridb ocracle postgresql sqlserver(windows)

RDB阿里云数据库 高斯(华为的) TDBA(腾讯的)ocenabase(阿里的)人大金仓 达梦

非关系型数据库

缓存型的 redis memcache

文档型的 mongoDB

搜索型的 elasticserch

时序型的 prometheus(监控数据)

常见操作系统 欧拉,乌班图apt安装deb包,

键值对 k/y key/value 键/值

sql语句 DDL创建数据库对象 DML内容 DQL搜索 DCL控制语句

DDL 用于创建数据库的对象:库 表 索引

create database 库名;

create table 表明 (字段名1 数据类型 【字段属性】,【字段属性】 . . . .);

show databases;查看库

use 库名;

show tables;

show tables from 库名;

desc 表名;查表得结构

DML 用于管理表数据

insert into 表名 (字段1,字段2,. . . . )values(对应字段1的值,字段2的值, . . . . );

insert into 表名 values (按照字段顺序的所有字段的值);

delete from 表名 where 条件表达式;

update 表明 set 字段=值 ,. . . . where 条件表达式;

DQL 用于根据条件查询表数据

select 字段1,字段2 ,. . .  from 表名 where 条件表达式;

select * from 表明 limite N;N查看表前几行

select * from 表明 limite N,M;查看N行之后的多少行到M前那行(不包含第N行)

select * from 表明/G;按竖向结构查看

需改表结构 alter table 旧表名 rename 新表名;

增加表字段 alter table 表明 add 新字段 数据类型 字段属性;

修改表字段名 alter table 表明 cahnge 旧字段名 新子段名 字段属性;

删除字段 alter table 表名 drop 字段名;

 char和varchar的区别 char大小固定值,小的往后空格,varchar可变的最小为1

案例扩展
use school;
create table if not exists info (
id int(4) zerofill primary key auto_increment,     #指定主键的第二种方式
name varchar(10) not null,
cardid int(18) not null unique key,
hobby varchar(50));
------------------------------------------------------------------------------------------------------------------------
#if not exists:表示检测要创建的表是否已存在,如果不存在就继续创建
#int(4) zerofill:表示若数值不满4位数,则前面用"0"填充,例0001
#auto_increment:表示此字段为自增长字段,即每条记录自动递增1,默认从1开始递增;
自增长字段数据不可以重复;自增长字段必须是主键;如添加的记录数据没有指定此字段的值且添加失败也会自动递增一次
#unique key:表示此字段唯一键约束,此字段数据不可以重复:一张表中只能有一个主键,但是一张表中可以有多个唯一键
#not null:表示此字段不允许为NULL

主键字段:不能为空,一个表中只能有一个主键,所有字段中主键字段唯一

唯一键:可以空,一个表可有多个唯一键。但一个表内不能重复

自增长命令执行失败id会自增一边

create table if not exists ky27 (id int(4) zerofill primary key auto _increment,name char(10) not null default 'nobody',phone int not null,sex char(4));

insert into ky27 (name,phone,sex) values ('zhangsan',123456789,'男');

alter table ky27 add unique key(phone);

克隆表

法一create table test1(新表) like test2(旧表);

insert into test1 select * from test2 ;

法二

create table test2 (select * from test2);

会出现新旧表结构不一样

清空表法一

delete from  test1 ;用delete删除时自增长字段仍然会按照星空前的顺序自增,一条一条删,清空效率慢

法二 truncate table test1;直接重建表,清空效率快,新表自增长从1开始

创建临时表(当前会话当中)

show tables看不到表名

create temproary  table test1 (id int,name char(10),sex char(4))

mysql 六大常见约束

主键约束 primay key

唯一键约束 unique key

非空约束 not null

默认值约束 default

自增约束 auto_increment

外键约束 foreign key 两个表关联表的的内键与另一个表的外键捆绑。

外键的定义:如果同一个属性字段X在表一中是主键,而在表二中不是主键,则字段X称为表二的外键。

创建主表 profession

create table prof (pid int, pname char(10));

create table student (id int, name varchar(10),age int, proid int);

pid 与proid相关

alter table prof add primary key(pid);

desc prof;

alter table student add constraint FK_pro_foreign key (proid) references prof (pid);插入数据时必须先给主表插入数据insert into prof values (1,'大数据')

insert into student values (1,'yht',26,1);

外键表删delete from student

查看表结构 show create table student\G更详细。

alter table student drop foreign key FK_PRO;删除表结构

DCL

数据库用户管理

create user '用户名'@'源地址' identified by '密码';(源地址为localhost/%)

select user,local,authentcation_string form mysql.user;

查看用户

'root'@'localhost'默认用的localhost登录

'root'@'%' 不同ip链接用户

新建用户 create user 'zhangsan'@'localhost' identified by 'abc123';

select

 password('123456');

create user 'lisi'@''localhost’

select user()查看当前登录用户

rename user 'lisi'@'localhost' to 'wangwu'@'localhost'

drop user 'wangwu'@'localhost';

set password = password('123456');该当前用户密码

set password for 'zhangsan'@'localhost' =password('abc123')只等用户修改密码

寻找root密码

vim /etc/my.cnf 可以在【mysqld】下添加skip-grant-tables

修改

 

重启mysql

systemctl restart mysql

mysql

uae mysql

desc user

update user set authenticaton_string=paassword('abc123') where user='root' and host='localhost';

flush privileges;刷新

改完后

还原修改配置文件

vim /etc/my.cnf

 刷新数据库

数据库的用户授权

grant 权限1,权限2,. . . . on 库名.表明 to '用户名'@'源地址' [identified by '密码']

授权用户权限是 all privilege。这个all privilege 都有哪些权限?all privilege 权限如下

insert (插入数据)select (查询数据)

update (更新表的数据)

delete (删除表中数据)

create (创建库,表)

(删除库,表)drop

refernces

index(建立索引)alter(更改表属性)

create temp orary tableslock tables (锁表)

execute

create view (创建视图(显示视图)show viewcreate routine (创建存储过程alter routine(修改存储过程)event (事件)

trigger on(创建触发器)

grant select,insert,create on kgc.* to 'lisi'@'%' identified by '123456';

flush privileges;

mysql -ulisi -p123456 -h 192.168.232.105 -p 3306

查看用户自己有什么权限

show grants for 'lisi'@'%'

grant all privileges on *.* to 'zhagnsan'@'localhost';

撤销权限

revoke all on *.* from 'zhangsan'@'localhost';

删除用户

drop user 'zhangsan'@'localhost';

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

196页11万字智慧水务平台建设方案

本资料来源公开网络,仅供个人学习,请勿商用,如有侵权请联系删除。 业务需求分析 3.1 主要业务描述 (1)调度中心主要业务描述 配套工程调度中心为一级调度机构,同时也是水务集团原水供水的统一调度中心。…

Iron Web Scraper 2023.4.13 Crack

Iron Web Scraper 被认为是 C# 的互联网抓取库,它能够让用户和开发者激发和最终的个人浏览行为,以提取文件、内容甚至图片和应用程序。动词作为 .NET 的本机项。IronWebScraper 具有从后台处理礼貌和多线程进程的能力,这使得用户程序很容易简…

SpringCloud学习(七)——统一网关Gateway

文章目录 1. 网关介绍2. 网关搭建2.1 引入依赖2.2 创建启动类2.3 编写配置2.4 测试 3. 路由断言工厂4. 路由过滤器4.1 过滤器配置4.2 全局过滤器4.3 过滤器执行顺序 5. 跨域问题处理 1. 网关介绍 到现在,我们可以使用Nacos对不同的微服务进行注册并管理配置文件&am…

天气预报查询 API 提供个性化的天气服务的设计思路

引言 假设你是一个开发人员或公司,正在考虑开发一款天气应用程序,但你意识到市场上已经有很多竞争者在使用天气预报查询 API 来提供类似的服务,本文将一起探寻一些创新的方法来提高应用程序的竞争力。 扩大竞争力的一些建议 如果市面上已经…

Redis主从复制和哨兵模式

Redis主从复制 概念 主从复制,是指将一台Redis服务器的数据,复制到其他的Reds服务器。前者称为主节点(master / leader),后者称为从节点(slave / follower)。 数据的复制是单向的,只能由主节点到从节点。 Master以写为主,Slave…

spring2:创建和使用

目录 1.创建Spring项目 1.1创建Maven类 1.2添加Spring支持框架 1.3添加启动类 2.存储Bean对象 2.0 spring项目中添加配置文件(第一次) 2.1创建Bean 2.2把Bean注册到容器中 3.获取并使用Bean对象 3.1创建上下文 3.2获取指定Bean对象 getBean()方法 --> 获取什么…

Flutter 组件抽取:日期(DatePicker)、时间(TimePicker)弹窗选择器【仿照】

简介 仿照《Flutter 仿ios自定义一个DatePicker》实行的日期弹窗选择器&#xff08;DatePicker&#xff09;、时间弹窗选择器&#xff08;TimePicker&#xff09; 效果 范例 class _TestPageState extends State<TestPage> {overridevoid initState() {super.initStat…

ros基础笔记

1创建工作空间 catkin_init_workspace 将文件夹初始化成ros文件 编译工作空间catkin_make vi ~/.bashrc 加入环境变量bashrc一下在任何终端都生效 catkin_create_pkg learning_communication通讯机制 std_msgs数据结构 rospy roscpp catkin_create_pkg mbot_description ur…

SpringBoot实现导出Excel功能

1 问题背景 需求要做一个导出excel的功能 2 前言 本篇着重阐述后端怎么实现&#xff0c;前端实现的部分只会粗略阐述。该实现方案是经过生产环境考验的&#xff0c;不是那些拿来练手的小demo。本文阐述的方案可以借鉴用来做毕设或者加到自己玩的项目中去。再次声明&#xff0c;…

题目 3166: 蓝桥杯2023年第十四届省赛真题-阶乘的和--不能完全通过,最好情况通过67.

原题链接&#xff1a; 题目 3166: 蓝桥杯2023年第十四届省赛真题-阶乘的和 https://www.dotcpp.com/oj/problem3166.html 致歉 害&#xff0c;首先深感抱歉&#xff0c;这道题还是没有找到很好的解决办法。目前最好情况就是67分。 这道题先这样跳过吧&#xff0c;当然以后还…

day9 实现UDP通信

目录 socket函数拓展 UDP通信实现过程 代码实现 socket函数拓展 send与recv函数&#xff1a; /*用于发送数据*/ ssize_t send(int sockfd, const void *buf, size_t len,int flags);/*用于接收数据*/ ssize_t recv(int sockfd, void *buf, size_t len,int flags);/*前三个…

【Python习题集5】函数的设计

函数的设计 一、实验内容二、实验总结 一、实验内容 1.编写两个函数分别按单利和复利计算利息&#xff0c;根据本金、年利率、存款年限得到本息和和利息。调用这两个函数计算1000元在银行存3年&#xff0c;在年利率是6%的情况下&#xff0c;单利和复利分别获得的本息和和利息。…

程序员不得不知道的 API 接口常识

1、初识 API 接口 记得在我初学 web 开发的时候&#xff0c;后端框架相关的教程基本都会教学生写渲染模版&#xff08;不分语言&#xff09;&#xff0c;也就是说后端返回的是整个网页的数据&#xff0c;浏览器只负责渲染。 一般这类模版在后端都会对应一个路由&#xff0c;比…

Vue——组合式函数

目录 什么是“组合式函数”&#xff1f;​ 鼠标跟踪器示例​ 异步状态示例​ 约定和最佳实践​ 命名​ 输入参数​ 返回值​ 副作用​ 使用限制​ 通过抽取组合式函数改善代码结构 选项式 API 中使用组合式函数​ 与其他模式的比较​ 和 Mixin 的对比​ 和无渲染…

计算机视觉的应用3-批量图片风格迁移之素描图片生成的应用

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下计算机视觉的应用3-批量图片生成素描图片的应用&#xff0c;将一张图像转换为素描风格的图像的其实是模拟了人类视觉在观察物体时受到的光照条件。素描风格的图像在灰度值上表现出明暗交替的效果&#xff0c;这种效…

渗透测试 | 目录扫描

0x00 免责声明 本文仅限于学习讨论与技术知识的分享&#xff0c;不得违反当地国家的法律法规。对于传播、利用文章中提供的信息而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;本文作者不为此承担任何责任&#xff0c;一旦造成后果请自行承担…

electron源码保护

electron 程序发布后&#xff0c;如果未对程序做保护&#xff0c;则极容易受到破坏&#xff0c;比如被轻松破解密码&#xff0c;或者被修改程序&#xff0c;所以必须对程序做一些安全防护。虽然没有100%的安全防护&#xff0c;但是提升破解难度&#xff0c;直至破解代价超出了范…

MyBatis:使用代码整合

文章目录 MyBatis&#xff1a;Day 04框架1. 依赖&#xff1a;pom.xml2. 外部配置文件&#xff1a;db.properties3. 核心配置文件&#xff1a;mybatis-config.xml4. 实体类5. 接口&#xff1a;xxxMapper.java6. 实现类&#xff1a;xxxMapper.xml7. 测试 MyBatis&#xff1a;Day …

利用C#实现动态替换桌面快捷方式对应的应用程序

公司有一个特殊的业务可能会用到这个&#xff0c;至于什么业务就不展开了。本文的内容作为备用方案。 实现思路&#xff1a; 1 获取当前exe程序运行的全路径 2 获取桌面的所有快捷方式 3 遍历快捷方式&#xff0c;获取快捷键方式对应程序的运行路径&#xff0c;并与当前…

Java编程中的20种常见异常及其原因,你知道多少

本文介绍了在Java编程中可能遇到的20种常见异常&#xff0c;包括空指针异常、类未找到异常、数组下标越界异常等&#xff0c;并简要解释了每种异常发生的原因。这些异常可能由于编程错误、运行时资源不足或权限受限等多种原因触发&#xff0c;了解它们有助于更高效地进行程序调…