首页 > 数据库 >sql复习

sql复习

时间:2023-08-16 18:13:29浏览次数:34  
标签:---- 复习 -- 数据库 mysql --- sql 权限

第一章

第二件事情:数据库了解


1.学习前提条件--会一门语言

2.为什么学习数据库?


所有的电子设备操作核心----数据


编程语言如何进行数据处理:


1)--控制台打印数据
2) --变量

3 )---数组

4 ) ---Java---集合框架--临时
5 )-文件存储--持久化


文件存储--存在问题:

安全问题

读写困难

拓展性

解决问题:好事之人-----写一个专门用于管理数据---数据库

3.数据库相关概念

4.数据库选择

大型 中型 小型

国内:

普通的公司:

mysql【免费】 sqlite 【免费】 sqlserver【出现】 【收费】

财务:

excel或者access

大公司【有钱的】:

oracle db2

我们的学习:--选择用的多的----mysql

5.mysql数据库

概念:

中型的关系型数据的管理系统,有瑞典 MysqlAB公司开发的

后来被Oralce收购的

网站的数据库服务
数据库软件分类:

官方:

单独的数据库服务软件---mysql-server

包含了提供的开发工具的数据库服务软件---mysgl-com.....
第三方集成开发工具


数据库软件下载

官方-官网

原本的官网:https://www.mysql.com/
I/
oracle官网:https://www.oracle.com/downloads/#category-database

第三方-去第三方官网

phpstudy---https://m.xp.cn/


数据库安装卸载【重点】

检查环境:

系统中是否存在安装文件

服务中是否又启动的mysql

右击计算机----管理---服务与应用---服务

注册表

win+R---输入regedit
路径

HKEY_CURRENT_USERLSoftware

HKEY_CURRENT_USER\System
HKEY_LOCAL_MACHINE\Software -



安装和使用第三方工具


phestudy---https://m.xp.cn/


宝塔--https:/ /www.bt.cn/new/index.html

XAMPP----


LAMP

EasyPHP

 

注意事项:

1)一台电脑可以同时安装多个数据库----只要端口号不同

2)使用官方的一定一定一定要卸载干净再安装


使用第三方工具:


—定要停止在运行的服务,再关闭软件

 

6.数据库进行数据的存储


登录到服务,数据库服务软件数据后台运行软件,需要使用客户端管理工具

客户端管理工具三种:


1)命令行工具
Dos或者自己提供的shell工具

2)图形化界面工具:


workbench ----mysql官方提供的

Navicate----第三方--收费的

SqlFont ------第三方--免费的

Sqlyog----第三方--收费

等等


3 )编程语言连接

分析:


数据库处理数据的服务是独立的 管理工具独立

两者如何关联交流---网络技术----ip地址+端口----账号和密码

数据库软件的目录结构:

bin目录----数据库提供的操作工具

includ--源码

share---数据库默认信息【支持的语言,默认资源脚本】


7.命令行如何操作数据库软件

配置环境变量:将数据库的工具交给操作系统

将mysql 的server的bin目录交给操作系统path

常用的命令:

命令连接登录到数据库服务软件

mysql -h lP地址-p端口号-u账号-p密码

本在本地同一台机器

mysql -u账号 -p密码

退出登录的命令:

exit quiet

查看当前的用户:

select user();


查看版本:

select version();

查看当前有的数据库:

show databases;

选择一个数据库

use 数据库名;

查看数据库中的表

show tables;

查看当前数据库:


8.图形化工具

图形化工具 数据库服务---网络通信

数据库自带的

workbench 连接 登录

navicate

 

 

 第二章

 使用window+R进行系统自带的程序

登录

​ mysql -u用户 -p密码

​ 查看所有的用户信息:

​ 所有用户:select user,host from mysql,user;

​ 当前用户:select user ();

​ 3.创建用户

​ create user 用户名@主机号【identified by 密码】;

纠错:

​ %----任意主机可以连接当前数据库服务

​ 192.168.4% ----表示是192.168.4下面所有的主机可以连接当前数据库服务

​ 4.删除

drop user 用户名@主机信息

5.退出登录

​ exit 或者quite

6.查看用户所拥有的权限

​ 1)查看自己的权限

​ show grants;

​ 新用户所拥有的的权限:usege

​ 2)管理员或者拥有查看别人权限的用户查看别人的拥有的权限

​ show grants for 用户名@主机名或者ip

​ 7.查看mysql中所有的权限

​ show privileges;

​ 8.权限关系

​ 操作的权限命名 数据库表中实际管理权限的命名

​ select select_priv

​ create user create_user_priv

​ 9.常见的权限

​ insert

​ select

​ update

​ delete

表格数据库用户结构操作

​ create创建

​ create user

​ create database

​ create table

​ create view

​ drop 删除

​ after 修改

​ show 显示

10.给新用户赋予权限【grant】

​ 语法:

​ grant 权限1,权限2....... on 数据库.表名 to 用户名@主机号或者IP地址【with grant option】

 

​ 说明:

​ 权限列表:可以同时给用户赋予多个权限。使用逗号来分割

​ 数据库名.表名: 可以指定哪些数据库或者表可以被当前用户有对应权限操作

​ 所有的数据库所有的表都可以被操作: *.*

​ 用户名@主机

​ 【with grant option】:需要被赋予权限的用户给其他用户赋权

​ 权限最初的拥有者是:root管理,管理员赋予权的时候没有指定with grant option,不允许用户给其他用户赋权,

​ 注意:mysql 数据中没权限给定不是绝对的,列如如果给了create user,同时开启after user drop

​ 一般使用数据的时候都是不适应默认用户去操作数据,都是创建新的用户按需操作

11.收回【revoke】权限的语法

​ 语法:

​ revoke 权限列表 on数据库.表名 from 用户名@主机名或者IP地址

语法:

​ 收回所有的权限和权限下发的语法

​ revoke all.grant option from 用户@主机名

​ revoke all from 用户@主机名

 

第三章

1.查看编码

​ 查看当前数据库支持的编码有哪些命令

​ show character set;

​ 查看当前mysql环境的编码

​ show variables like ‘char%';

​ 2.修改编码

​ 命令修改:

​ set 编码名字=编码值

​ 配置文件修改:

​ Windows环境

​ 安装目录【跟bin同一个目录】下有一个my.ini 配置文件 ----MySQL核心配置

​ 有的时候没有这个文件:my-medium.ini这个文件

​ --复制到安装目录,修改名字为my.ini

​ 修改:【client】【mysqld】后面添加或修改default-character-set=编码

​ Linux环境

​ 配置文件:my.cnf

3.练习

​ 创建一个新的用户 charuser

​ 给与全部权限

​ 查看当前数据库所有的编码

​ 讲client和results 编码改成utf16 client不可以 results可以

将system 编码改成gbk system不可以

​ 将server修改为utf32 server可以

查看修改结果

复原代码

第五件事情:数据库如何操作数据之后SQL语言

​ 1.问题---数据库软件

​ 客户端---操作业务--与数据库服务沟通

​ 数据库服务软件---存储和处理数据--后台掩藏运行软件

​ 通过客户端告诉数据库服务该如何操作?

​ 通过编写指令告诉数据库服务---进行相应的操作

​ 数据操作怎么处理?

​ 也可以通过命令指令--让数据库服务

学习数据库的最终目的:

​ 编程语言获取的数据方便安全的持续化存储

一门语言和一个软件之间如何沟通?

​ 编程语言来说---认识数据+语言+指令

需要数据库提供一套指令或者指令集合来操作数据

​ 数据库提供了俩门指令语言

​ ---SQL

​ ---PLSQL【中型数据库高版本+大型数据库必备】

​ 2.sql

​ structure query language 结构化查询语言

​ 结构化: 固定语言写法

​ 查询:重点获取自己想要的数据

​ 语言

​ 关系型数据库核心

关系数据库较多---每个数据库各自为战---定义基础规范

​ sql-92----

​ sql-1999--

​ sql-2003---

标准的定义---基础通用+协议规范+解析方式

每一个数据可以自己开发一些特殊用于指令

​ 3.sql包含的内容

​ SQL语言划分四大模块语言:

​ DDL【DATA Definition Language】:数据定义语言

​ 作用:用来操作用户 数据库 表,试图的数据库结构

​ create【创建】 drop【删除】 alter【修改】

 

​ DML【Dtae Manipilation language】:数据库操作语言

​ 作用:主要用户处理数据库表中的数据

​ insert 【插入】 delete【删除】 update【修改】select【查询】

注意:select 单独分类一类 DQL【Date Query Languages】

 

DCL【Date Control Languages】:数据控制语言

​ 作用:控制数据使用范围,用户权限管理

​ grant【赋予】 revoke【收回】

​ TCL【Transacton Control Languages】:事务控制语言

​ 作用:控制操作过程事务【失误】

​ commit【提交】 rollback【回滚】 savepoint【保持点】

4.学习这四门语言完成数据库业务---数据库的结构

​ 5.操作数据之存储引擎

​ 主要数据库的发动机,用户数据库与文件之间转化

因为数据库操作数据形式不同,所以与数据库定义多个存储引擎

常用:innoDB, MyisaM Memory

1)查看数据库支持的存储引擎

show engines;

2)存储引擎之--innoDB

8.0默认存储引擎为innoDB

8.0之前默认是MyisM

​ 优势:

提供了完整的事务处理,有很好的容灾能力

提供了外键支持---多表关联查询

提供自增操作 auto_increment

支持并发操作

缺点:读写数据慢,占用空间大

3)MyISaM

80.之前默认存储引擎

优点:

​ 将数据表拆分为三块:表结构,数据,索引

存储数据速度快,占用空间小

缺点:

不支持事务处理,不支持并发操作

4)Memory

内存存储处理数据----磁盘上也会有一个临时文件

优点:

速度亏啊,方便

缺点:

数据生命周期短依赖内存

 

第六件事情:数据操作有----数据库

​ 1.什么事数据库?

管理数据的最小单元 每一个数据库对应一个应用【常规应用】

2.查看数据库

​ 查看当前所有的数据库:show databases;

​ 查看当前使用的数据库:select database();

进入数据库:use 数据库名

3.创建数据

createdatabase【if not exist】数据库名;

if not exist:如果数据库不存在

 

标签:----,复习,--,数据库,mysql,---,sql,权限
From: https://www.cnblogs.com/1011-zslnb/p/17635830.html

相关文章

  • 如何调整MySQL InnoDB缓冲池大小?如何监控缓冲池效率?常用的warm-up策略有哪些?
    如何调整MySQLInnoDB缓冲池大小?调整InnoDB缓冲池是优化InnoDB性能的关键步骤。InnoDB缓冲池是InnoDB存储引擎在内存中缓存数据和索引的地方,适当地调整它可以大大提高数据库的性能。以下是调整InnoDB缓冲池的步骤和建议:确定合适的大小:InnoDB缓冲池应该设置......
  • MySQL---索引优化与查询优化(子查询优化)
    索引优化与查询优化子查询优化示例:优化后排序优化注意:1、orderby且不使用limit且数据量比较大时,如果select内容和索引字段不匹配,将会进行回表,优化器将不会使用索引,索引失效;......
  • 一个十分简单的增删改查系统(含MYSQL数据库安装教程)
    一个十分简单的增删改查系统(nodejs+vue)该系统采用前后端分离的方式,实现最基本的增、删、改、查功能。前端使用vue框架搭建,后端使用nodejs,数据库用mysql1.准备工作1.1安装nodejs下载nodejs,官网如下Node.js(nodejs.org)选择长期维护版,下载之后直接下一步下一步就行了......
  • 在core项目下通过Dapper对mysql执行批量操作 报at MySql.Data.MySqlClient.MySqlComma
     在core项目下通过Dapper对mysql执行批量操作一直报异常  报PushService=>UpdateKeyWordProductCountTask=>错误信息:Fatalerrorencounteredduringcommandexecution.;;;堆栈信息:atMySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehaviorbehavior)at......
  • 对于MySQL的innodb存储引擎,‘select count(*) ’、‘select count(id)’、‘select co
    让我们重新审视那三个查询在InnoDB存储引擎中的行为:selectcount(*)fromtable;这个查询用于计算表中的所有行数。当使用count(*)时,MySQL不会去检查列的值,它只关心行数。对于InnoDB,这并不意味着它可以从某个内部计数器快速获取行数,而是需要对整个表或满足查询条件的相......
  • 为什么MySQL innodb的数据达到亿级别,使用‘select count(*) ’将会特别慢?
    当表的数据达到亿级别时,使用SELECTCOUNT(*)FROMtable会变得特别慢,主要是因为以下几个原因:全表扫描:SELECTCOUNT(*)FROMtable通常会导致全表扫描,除非有一些优化手段被应用(例如使用覆盖索引)。当你执行这样的查询,数据库实际上需要读取表中的每一行以计算总......
  • MySQL 8.0 参考手册——8.2优化 SQL 语句
    数据库应用程序的核心逻辑是通过SQL语句来执行的,无论是通过解释器直接发出还是通过API在后台提交。本节中的调整指南有助于提高各种MySQL应用程序的速度。指南涵盖读写数据的SQL操作、一般SQL操作的幕后开销,以及数据库监控等特定场景中使用的操作。一、优化 SELECT ......
  • mysql安全设置
    ##securitysettingplugin-load-add=connection_control.soconnection-control=FORCEconnection-control-failed-login-attempts=FORCEconnection_control_min_connection_delay=3600000connection_control_max_connection_delay=3600000connection_control_failed......
  • MySQL 8.0 参考手册——优化
    8.1优化概述数据库性能取决于数据库级别的几个因素,例如表、查询和配置设置。这些软件结构在硬件级别上产生CPU和I/O操作,您必须最小化和尽可能有效地进行这些操作。在改进数据库性能时,您首先应学习软件的高级规则和指南,并使用执行时间测量性能。随着您成为专家,您将了解更多内部发......
  • MySQL之Explain
    执行计划输出中各列详解tableEXPLAIN语句输出的每条记录都对应着某个单表的访问方法,该条记录的table列代表着该表的表名这个查询语句只涉及对sys_user表的单表查询,所以EXPLAIN输出中只有一条记录,其中的table列的值是sys_user,表明这条记录是用来说明对sys_user表的单表访问......