DCL data control language,DCL,数据控制语言,主要是对数据库中的登录和用户的权限进行控制的语言,包含 用户登录MySQL数据库 修改用户密码及忘记密码如何解决 创建普通用户及授权 查看数据库中的用户及信息 mysql -uroot -p show databases; use mysql; show tables; select user, host, passord from flush privileges; # 刷新权限 systemctl restart mysql; # 重启mysql -- 创建用户的同时进行授权 grant select, insert, tables; # 查表数据库中的所有表 mysql> select user, host from user; # 查看这个表中的user和host信息 image.png 删除用户 需要注意的是删除了某个用户之后必须进行权限的刷新 ,谨慎操作 grant all privileges on *.* to "test"@"192.168.21.136"; 撤销权限 撤销权限使用的是revoke;承接上面的栗子,撤销test用户的select
DCL (Data Control Language)4.1 用户管理我们现在默认使用的都是root用户,超级管理员,拥有全部的权限。 所以,我们应该可以根据不同的项目建立不同的用户,分配不同的权限来管理和维护数据库。 4.1.1 查看用户MySQL的所有用户都在mysql数据库中的user表中存储:select * from mysql.user;查看当前登录的用户:select user();4.1.2 创建用户语法 ,也就是以数据表中数据为准,将内存数组重新加载一遍;所以说如果内存中的权限数据和磁盘表中的数据一致的话,flush privileges其实是可以不用做的。 而对于正常的grant/revoke/create user等操作,内存和磁盘中的数据都是同步更新的,所以正常的grant/revoke操作后是不需要flush privileges的。
目录 DCL-介绍 DCL-管理用户 1、查询用户 2、创建用户 3、修改用户密码 4、删除用户 5、样例 6、注意 DCL-权限控制 1、查询权限 2、授予权限 3、撤销权限 4、例子 5、注意 - --- DCL-介绍 用来管理数据库用户,控制数据库的访问权限 主要俩个方面 ,控制哪些用户可以访问,控制每个用户具有什么样的访问权限 DCL-管理用户 1、查询用户 USE mysql SELECT localhost'identified by '123456'; 可以通过命令行访问一下 windows +R 打开命令行 ,输入cmd,然后输入mysql -u itcast -p 输入设置的密码 mysql_native_password by '1234'; 可以通过打开控制台测试一下密码还否修改 删除itcast@localhost用户 drop user 'itcast'@'localhost'; 6、 ——这类SQL开发人员操作的比价少,主要是DBA(数据库管理员)使用 DCL-权限控制 1、查询权限 SHOW GRANTS FOR '用户名'@'主机名' 2、授予权限 GRANT 权限列表
主要用来对数据库的数据进行一些操作。 DELETE FROM 表名称 WHERE 列名称 = 值 二、DDL DDL(data definition language)数据库定义语言: 其实就是我们在创建表的时候用到的一些sql,比如说 DDL主要是用在定义或改变表的结构,数据类型,表之间的链接和约束等初始化工作上 CREATE TABLE 表名称 ( 列名称1 数据类型, 列名称2 数据类型, 列名称3 数据类型, .... ) ALTER TABLE table_name ALTER COLUMN column_name datatype DROP TABLE 表名称 DROP DATABASE 数据库名称 三、DCL DCL(Data 在公司呢一般情况下我们用到的是DDL、DML这两种。
state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 00:0c:29:56:78:05 brd ff:ff:ff:ff:ff:ff inet 192.168.2.84/24 brd 192.168.2.255 scope global eth3 inet6 192.168.100.101/24 brd 192.168.100.255 scope global eth2 inet 192.168.100.105/24 scope global secondary eth2 inet6
DML(data manipulation language)是数据操纵语言:它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言 DDL(data definition language)是数据定义语言:DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型 ,表之间的链接和约束等初始化工作上,他们大多在建立表时使用 DCL(DataControlLanguage)是数据库控制语言:是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke
前面我们的规则都是-s,针对的是来源,-d则是目标主机: (1)input:从外面进来的包的目标地址 ? 此时我们的ssh连接中断,无法实行命令,用别的主机ping此主机也失败: ? 说明已经禁止任何输入进来的数据包(目标地址为192.168.19.129) 此时在虚拟机下输入iptables-F即可 (2)output:从内部出去的包的目标地址 ? 我们可以发现所有ping给目标地址为192.168.19.131的行为都被禁止 ps:如果想禁止所有网段的话的语句为:iptables -A OUPUT -d 192.168.19.0/24 -j DROP 此时这个网段下的所有ip都无法ping通 如果要取反iptables -A OUPUT !
为什么需要Map JavaScript 的对象(Object),本质上是键值对的集合(Hash 结构),但是传统上只能用字符串当作键。这给它的使用带来了很大的限制。 什么是Map 为了解决这个问题,ES6 提供了 Map 数据结构。它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。 Map 中的键值是有序的,而添加到对象中的键则不是。因此,当对它进行遍历时,Map 对象是按插入的顺序返回键值。 Object 都有自己的原型,原型链上的键名有可能和你自己在对象上的设置的键名产生冲突。 虽然 ES5 开始可以用 map = Object.create(null) 来创建一个没有原型的对象,但是这种用法不太常见。 Map 在涉及频繁增删键值对的场景下会有些性能优势。
DML 它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言 DDL DDL比DML要多,主要的命令有CREATE、ALTER 、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用 DCL 是数据库控制功能。 是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句。 在默认状态下,只有sysadmin,dbcreator,db_owner或db_securityadmin等人员才有权力执行DCL
对于 DCL(Double Check Lock)情况下的对象安全发布,一直理解得不足够清楚;在通过和同事,以及和互联网上一些朋友的讨论之后,我觉得已经把问题搞清楚了。 这就是说,如果任何时候在满足以下这样两个条件的情况下,对一个对象的读操作 r,都能得到对于对象的写操作 w 的结果(读的时候要能返回写的结果),我们就认为它就是满足 happens-before 一致性的 满足这样一致性的内存模型,是一种极度简化的内存模型,它允许 JVM 实现的时候,对于绝大多数情况下不需要满足 happens-before 的对象和操作,可以在保证单个线程运行结果正确的情况下做尽可能多的优化 所有对于实例初始化的操作都放 instance=temp;(即对 volatile 修饰的属性 instance 的写操作)之前,这些操作的结果都是“ 可见的”。 值得一提的是其中的第一条,需要理解其中的“subsequent action”(后续行为),比如调用一个方法返回的结果应当是正确的,类的每一条静态语句的执行结果也是正确的。
DDL(Data Definition Languages)语句 数据定义语言,这些语句定义了不同的数据段、数据库、表、列、索引等数据库对象的定义。 常用的语句关键字主要包括 create、drop、alter等。 (增添改查) DCL(Data Control Language)语句 数据控制语句,用于控制不同数据段直接的许可和访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限和安全级别。 主要的语句关键字包括 grant、revoke 等。 DDL 是数据定义语言的缩写,简单来说,就是对数据库内部的对象进行创建、删除、修改的操作语言。 它和 DML 语言的最大区别是 DML 只是对表内部数据的操作,而不涉及到表的定义、结构的修改,更不会涉及到其他对象。DDL 语句更多的被数据库管理员(DBA)所使用,一般开发人员很少使用。
(obj,obj2) 结果,666,888 数组解构 让我们一起先来看数组解构的基本用法: let [a, b, c] = [1, 2, 3] // a=1, b=2, c=3let [d, [e], let [i,,j] = [1, 2, 3] // 不连续解构 i=1, j=3let [k,l] = [1, 2, 3] // 不完全解构 k=1, l=2 对象解构 接下来再让我们一起看看对象解构的基本用法 ,且需要一一对应,这样就会极易出现参数顺序传错的情况,从而导致bug,接下来来看es6解构赋值是怎么解决这个问题的: function personInfo({name, age, address, gender 3.交换变量的值 在es5中我们需要交换两个变量的值需要借助临时变量的帮助,来看一个例子: var a=1, b=2, cc = aa = bb = cconsole.log(a, b) 来看es6怎么实现 ,再来看es6中的使用的方法: function saveInfo({name= 'william', age= 18, address= 'changsha', gender= 'man'} = {}
DDL(data definition language):数据定义语言 DDL主要用于定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,大部分在建立表时使用。 常用的语句关键字包括: 1.SELECT 查询 2.UPDATE 更新 3.INSERT 插入 4.DELETE 删除 DCL(Data Control Language):数据控制语言 用于授予或回收访问数据库的某种特权 ,控制数据库操纵事务发生的时间及效果,并对数据库进行监视 。 常用的语句关键字包括: 1.COMMIT提交 2.SAVEPOINT保存点 3.ROLLBACK回滚 4.SET TRANSACTION设置当前事务特性,对后面的事务无影响 例如开通DML权限 USER 'lili'@'172.30.6.15' IDENTIFIED WITH 'mysql_native_password' AS '*DJFANDKFNDKABD717D3EC0A72B0BFACB6D18CB5F
目录 1.什么是Promise reject的用法 catch的用法 all的用法 race的用法 ---- 1.什么是Promise Promise 是异步编程的一种解决方案,其实是一个构造函数,自己身上有 (Ps:此处执行多次是因为研究该用法的时候我在一个react的demo中进行的,该页面多个元素改变导致页面多次渲染执行所致,正常页面只渲染一次的话就所有只会执行一次) reject的用法 以上是对promise 的resolve用法进行了解释,相当于resolve是对promise成功时候的回调,它把promise的状态修改为 fullfiled,那么,reject就是失败的时候的回调,他把promise的状态修改为 (也就是说then方法中接受两个回调,一个成功的回调函数,一个失败的回调函数,并且能在回调函数中拿到成功的数据和失败的原因),所以我们能够分别拿到成功和失败传过来的数据就有以上的运行结果 catch的用法 即便是有错误的代码也不会报错了 all的用法 与then同级的另一个方法,all方法,该方法提供了并行执行异步操作的能力,并且在所有异步操作执行完后并且执行结果都是成功的时候才执行回调。
专栏持续更新中:MySQL详解 DML、DDL、DCL区别 . ,表之间的链接和约束等初始化工作上,他们大多在建立表时使用 DCL(Data Control Language): 是数据库控制功能。 下面是对Truncate语句在MSSQLServer2000中用法和原理的说明: Truncate table 表名 速度快,而且效率高,因为: TRUNCATE TABLE 在功能上与不带 WHERE 3、DCL 3-1、DCL的概述 DCL(Data Control Language 数据控制语句)的操作是数据库对象的权限,这些操作的确定使数据更加的安全。 Revoke语句:可以废除某用户或某组或所有用户访问权限 3-3、DCL的操作对象(用户) 此时的用户指的是数据库用户
DDL(data definition language):数据定义语言 DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用。 常用的语句关键字包括: CREATE ALTER DROP DML(data manipulation language):数据库操纵语言 用于添加、删除、更新和查询数据库记录,并检查数据完整性。 常用的语句关键字包括: SELECT UPDATE INSERT DELETE DCL(Data Control Language):数据控制语言 用来授予或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果 常用的语句关键字包括: COMMIT #提交 SAVEPOINT #保存点 ROLLBACK #回滚 SET TRANSACTION #设置当前事务的特性,它对后面的事务没有影响
SQL DCL—权限控制 MySQL常用权限如下 权限 说明 ALL,ALL PRIVILEGES 所有权限 SELECT 查询数据 INSERT 插入数据 UPDATE 修改数据 DELETE 删除数据 ALTER 修改表 DROP 删除数据库/表/视图 CREATE 创建数据库/表 权限控制的操作 1.查询权限 SHOW GRANTS FOR '用户名'@ '主机名'; 查询权限 show grants for 'Betty'@'%'; Created with Raphaël 2.3.0 运行结果 表示用户没有其它权限,仅仅表示的是用户能够连接并登录上 all on itcast.* to 'Betty'@'%'; Created with Raphaël 2.3.0 运行结果表示:它具有itcast这个数据库的所有权限 on itcast.* from 'Betty'@'%'; Created with Raphaël 2.3.0 运行结果表示:我们已经没有itcast这个数据库的所有权限
SQL的发展是从1974年开始的,其发展过程如下: 1974年—–由Boyce和Chamberlin提出,当时称SEQUEL。 SQL是一个标准的数据库语言,是面向集合的描述性非过程化语言。 它功能强,效率高,简单易学易维护(迄今为止,我还没见过比它还好 学的语言)。 SQL语言的分类 SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL。 不能rollback 数据控制语言DCL(data control language) 数据控制语言DCL用来授予或回收访问数据库的某种特权,并控制 数据库操纵事务发生的时间及效果,对数据库实行监视等。 在数据库的插入、删除和修改操作时,只有当事务在提交到数据 库时才算完成。在事务提交前,只有操作数据库的这个人才能有权看 到所做的事情,别人只有在最后提交完成后才可以看到。
如需了解自行编写与 pandas 配合的扩展类型,请参阅扩展类型,参阅扩展数据类型了解第三方支持库提供的扩展类型。 下表列出了 pandas 扩展类型,参阅列出的文档内容,查看每种类型的详情。 # 整数被强制转换为浮点数 In [332]: pd.Series([1, 2, 3, 4, 5, 6.]) ``object`` In [333]: pd.Series([1, 2, 3, 6., 'foo']) Out[333]: 0 1 1 2 2 3 3 6 向上转型一般都会遵循 numpy 的规则。如果操作中涉及两种不同类型的数据,返回的将是更通用的那种数据类型。 因此,下列代码会产出意料之外的结果: In [360]: dft = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6], 'c': [7, 8, 9]}) In
一 前言 本文主要对ES6的Promise进行一些入门级的介绍。要想学习一个知识点,肯定是从三个方面出发,what、why、how。 function() { 3 console.log('taskA, asynchronous'); 4 }, 0); 5 console.log('taskB, synchronize'); 6 :', data1); 4 }).then(function(data2) { 5 console.log('第二次请求成功, 这是返回的数据:', data2); 6 }).then(function 三 Promise的基本用法 3.1 基本用法 上一小节我们认识了promise长什么样,但对它用到的resolve、reject、then、catch想必还不理解。下面我们一步步学习。 处理结果正常,调用resolve 处理结果错误,调用reject 如果使用ES6的箭头函数,将会使写法更加简单清晰。