数据库基本管理

数据完整性:

  • 实体完整性:每一行必须是唯一的实体
  • 域完整性:检查每一列是否有效
  • 引用完整性:确保所有表中数据的一致性,不允许引用不存在的值
  • 用户定义的完整性:制定特定的业务规则

主键:

  • 用于唯一标识表中的行数据
  • 有一个或多个字段组成
  • 具有唯一性
  • 不允许取空值(NULL)
  • 一个表里只能有一个主键

数据类型:精准数字,近似数字,字符串,二进制字符串,日期和时间等等

SQL结构化查询语句

DDL:数据定义语言:create(创建) , drop(删除) , alter(修改)

DML:数据操作语言:insert(添加),update(更新), delete(删除)

DCL:数据控制语言:select(选择), show语句 , describe

DQL:数据查询语言:grant(授权) , revoke(取消授权) , commit(提交), rollback(退回)

1:查看数据库结构

[root@localhost ~]# mysql -u root -ppwd123

mysql> show databases;

mysql> use mysql

mysql> show tables;

mysql> describe user;

mysql> select * from user\G;

备注:

  • information_schema数据库:保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权 限等
  • performance_schema:用于监控MySQL server在一个较低级别的运行过程中的资源消耗、资源等待等情况

mysql:是 MySQL 服务正常运行所需的数据库,其中包含了用户认证相关的表

2.创建及删除数据库和表

(1)创建新库

mysql> create database auth;

(2)创建新表

mysql> use auth;

mysql> CREATE TABLE users (user_name CHAR(16) NOT NULL, user_passwd CHAR(48) DEFAULT '', PRIMARY KEY (user_name));

备注:”DEFAULT“密码默认为空

(3)删除一个数据表

mysql>DROP TABLE auth.users;

(4)删除一个数据库

mysql>DROP DATABASE auth;

3:管理表中的数据记录

(1)插入数据记录

mysql>use auth;

mysql>INSERT INTO users(user_name,user_passwd) VALUES('zhangsan', PASSWORD ('123456'));

mysql>INSERT INTO users VALUES('lisi', PASSWORD('654321'));

(2)查询数据记录

mysql>select * from auth.users;

mysql>SELECT user_name,user_passwd FROM auth.users WHERE user_name='zhangsan';

(3)修改数据记录

mysql>UPDATE auth.users SET user_passwd=PASSWORD('') WHERE user_name= 'lisi';

mysql>SELECT * FROM auth.users;

mysql>UPDATE mysql.user SET authentication_string=PASSWORD('123457') WHERE user='root';

mysql>FLUSH PRIVILEGES; /

[root@www ~]# mysqladmin -u root -p'123457' password '123456'

(4)删除数据记录

mysql>DELETE FROM auth.users WHERE user_name='lisi';

mysql>SELECT * FROM auth.users;

4:数据库表高级操作

(1)克隆表

mysql>create table user01 like auth.users;     //通过 LIKE 方法,复制 users 表生成 tmp 表,注意,此表为空

mysql>insert into user01 select * from auth.users;     //通过 player 表生成 tmp 表内数据记录

(2)删除表

mysql> delete from user01 where user_name='zhangsan';

mysql>delete from user01;

mysql>insert into user01 select * from auth.users;

mysql>truncate table user01;

mysql>select count(*) from user01;

备注:

编号 姓名 性别

1

2

3

4

5

标识列

truncate和delete的区别:

truncate删除表中的内容,不删除表结构,释放空间;

delete删除表中的内容,不删除表结构,但不释放空间

truncate删除数据后重新写数据会从1开始,

delete删除数据后只会从删除前的最后一行续写;内存空间上,truncate省空间

delete属于DML语句,而truncate和drop都属于DDL语句

delete可以在后续加上where进行针对行的删除

truncate和drop后面只能加上表名,直接删除表,无法where

drop table 表名  删除表,内容连带结构一起删除;

(2)临时表

mysql>select * from mytmp; //查看 mytmp 表是否存在

mysql>CREATE TEMPORARY TABLE `mytmp` (

`id` int(10) NOT NULL AUTO_INCREMENT,

`NAME` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,

 `level` int(10) NOT NULL,

PRIMARY KEY (id)

 ) ENGINE=InnoDB DEFAULT CHARSET=utf8; //创建临时表

mysql> insert into mytmp(name,level) values('aa',10); //插入数据

Query OK, 1 row affected (0.01 sec)

mysql>select * from mytmp;

mysql>quit //退出当前连接

Bye

mysql>select * from mytmp;     //重新连接 MySQL 之后查看临时表状态

flush privileges;更新权限的相关信息

授权(一组权限的集合:角色)

授权授的是什么,是权限吗

1:授予权限

mysql>grant select on auth.* to 'zhangsan' @'localhost' identified by '123456'; 本机登录

mysql>grant select on auth.* to 'zhangsan' @'192.168.10.%' identified by '123456'; 特定网段

mysql>grant select on auth.* to 'zhangsan' @'192.168.10.101' identified by '123456'; 指定ip

2:查看权限

mysql> SHOW GRANTS FOR 'zhangsan'@'localhost';

3:验证权限

[root@localhost ~]# mysql -u zhangsan -p123456

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

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

相关文章

第二届Godot游戏开发大赛来啦!

第二届Godot游戏开发大赛来啦! 我们的开发大赛正式定名为Godot Hub Festival 2024,以后将按照年份命名。 另外,本次比赛将和openKylin开源社区的SIG组们合作举办(因此也可以叫Godot openKylin开发大赛)。比赛定于2024年7月1日正式开始&#x…

解释如单例、工厂、观察者等常见设计模式在Android开发中的应用

在Android开发中,设计模式扮演着至关重要的角色,它们帮助开发者构建高效、可维护且易于扩展的应用程序。接下来,我将从技术难点、面试官关注点、回答吸引力和代码举例四个方面,详细解释单例模式、工厂模式和观察者模式这三种常见设…

TextGrad:即插即用 LLM 自动优化框架,提高各专业文本领域零样本准确率

题目:TextGrad: Automatic “Differentiation” via Text作者: Mert Yuksekgonul; Federico Bianchi; Joseph Boen; Sheng Liu; Zhi Huang; Carlos Guestrin; James ZouDOI: 10.48550/arXiv.2406.07496摘要: AI is undergoing a paradigm shift, with breakthroughs…

玩转springboot之springboot扩展SpringMVC

springboot扩展SpringMVC springboot为springmvc提供了很多自动配置,虽然适用于大部分应用,但是不一定适合你的应用 WebMvcConfigurer WebMvcConfigurer是用来全局定制化Spring boot的MVC特性,可以通过实现WebMvcConfigurer接口来配置应用的M…

ElementUI框架搭建及组件使用

前言: 当开始使用ElementUI框架来搭建网站或Web应用程序时,了解框架的基本结构和组件的使用是至关重要的。ElementUI是一个基于Vue.js的框架,提供了丰富的UI组件和工具,可以帮助开发人员快速构建现代化的用户界面。 在本文中,我…

FinalShell:功能强大的 SSH 工具软件,Mac 和 Win 系统的得力助手

在当今数字化的时代,SSH 工具软件成为了许多开发者、运维人员以及技术爱好者不可或缺的工具。而 FinalShell 作为一款出色的中文 SSH 工具软件,无论是在 Mac 系统还是 Windows 系统上,都展现出了卓越的性能和便捷的使用体验。 FinalShell 拥…

Jmeter,badboy学习

1、注意Jmeter与jdk之间的版本对应 2、Jmeter的作用: jmeter可以做接口测试和压力测试。其中接口测试的简单操作包括做http脚本(发get/post请求、加cookie、加header、加权限认证、上传文件)、做webservice脚本、参数化、断言、关联&#x…

利用闲置服务器搭建无人直播实现24小时无人值守直播

编译ffmpeg 为什么说在 linux 上编译安装 ffmpeg 最复杂?因为编译之前我们要安装很多扩展库,每个人的环境不同,要安装的编解码库或多或少都有些区别。 linux下安装 ffmpeg,我们以 centos7 编译安装为例。 先看下系统环境 [rootlocalhost…

岗位实习最终篇(汇总)——人力资源管理系统(包含DDL,DML,视图,简单/复杂查询,触发器语句和存储过程语句)

DDL CREATE TABLE users (user_id INT AUTO_INCREMENT PRIMARY KEY COMMENT 员工ID,username VARCHAR(50) NOT NULL UNIQUE COMMENT 用户名,password VARCHAR(255) NOT NULL COMMENT 密码,first_name VARCHAR(50) NOT NULL COMMENT 名,last_name VARCHAR(50) NOT NULL COMMENT…

LLM探索:环境搭建与模型本地部署

前言 最近一直在炼丹(搞AIGC这块),突然发现业务代码都索然无味了… 上次发了篇AI画图的文章,ChatGPT虽然没法自己部署,但现在开源的LLM还是不少的,只要有一块差不多的显卡,要搞个LLM本地部署还…

音视频开发32 FFmpeg 编码- 视频编码 h264 参数相关

1. ffmpeg -h 这个命令总不会忘记,用这个先将ffmpeg所有的help信息都list出来 C:\Users\Administrator>ffmpeg -h ffmpeg version 6.0-full_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developersbuilt with gcc 12.2.0 (Rev10, Built by MSYS2 pro…

单点登录(cookie+Redis)

1、什么是单点登录? Single Sign On简称SSo,只需要登录一次就可以在整个系统实现访问。 因为session的特性,是没有办法在多个服务系统之间实现数据的共享。 解决一个分布式session的问题。目前我们使用redis来实现分布式session。 1.1、新问题…

2000-2021年县域金融机构存贷款数据

2000-2021年县域金融机构存贷款数据 1、时间:2000-2021年 2、指标:统计年度、地区编码ID、县域代码、县域名称、所属地级市、所属省份、年末金融机构贷款余额/亿元、年末金融机构存款余额/亿元、年末城乡居民储蓄存款余额/亿元 3、来源:县…

[OtterCTF 2018]Graphic‘s For The Weak

恶意软件的图形中有些可疑之处。 软件图形 ???这里的恶意文件都是 vmware-tray.ex使用procdump转存进程的可执行文件 (可执行的)导出了 ,看文件里面是否存在 图片 volatility.exe -f .\OtterCTF.vmem --pro…

3.3V到5V的负电源产生电路(电荷泵电压反相器)SGM3204输出电流0.2A封装SOT23-6

前言 SGM3204 非稳压 200mA 电荷泵负电源产生电路,LCEDA原理图请访问资源 SGM3204电荷泵负电源产生电路 SGM3204电荷泵负电源产生电路 一般描述 SGM3204从 1.4V 至 5.5V 的输入电压范围产生非稳压负输出电压。 该器件通常由 5V 或 3.3V 的预稳压电源轨供电。由于…

网盘挂载系统-知识资源系统-私域内容展示系统

系统介绍: 存储:一共支持约30款云盘存储,其中包括主流的(百度网盘、阿里云盘、夸克云盘、迅雷云盘、蓝奏云、天翼云盘),部分展示 以及特别的(一刻相册、对象存储、又拍云存储、SFTP、MEGA 网盘…

【Linux】解锁并发:多线程同步技术详解与应用实践

文章目录 前言:1. 同步概念2. 条件变量:实现线程间同步的!2.1. 条件变量是什么?2.2. 认识条件变量接口 3. 写一个测试代码——验证线程的同步机制4. 生产消费模型5. 生产消费模型 条件变量6. 线程池7. 可重入 VS 线程安全7.1. 概…

python代码缩进规范(2空格或4空格)

C、C、Java、C#、Rust、Go、JavaScript 等常见语言都是用"{“和”}"来标记一个块作用域的开始和结束,而Python 程序则是用缩进来表示块作用域的开始和结束: 作用域是编程语言里的一个重要的概念,特别是块作用域,编程语言…

leetcode-20-回溯-切割、子集

一、[131]分割回文串 给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。 返回 s 所有可能的分割方案。 示例: 输入: "aab" 输出: [ ["aa","b"], ["a","a","b"] ] 分析&…

让GNSSRTK不再难【第17讲 RTK定位技术原理-站间单差浮点解--第2部分】

17.3 浮点解Kalman滤波 Kalman滤波过程与第16讲中伪距差分的滤波流程基本相同,但由于引入了载波观测值,并且要考虑模糊度参数的时间序列建模问题。 在没有周跳的情况下,每个模糊度的转移系数为1,即认为上一个历元的值等于本历元的值。然后附加一个 Q Q Q 阵,表示转移过…