mysql练手数据_MySQL新手练习

操作

插入数据 的语法 :INSERT INTO 表名称 VALUES(值1,值2,......);

修改数据 的语法:UPDATE 表名称 SET 字段名1 = 值1, 字段名2=值2,...... 【WHERE 条件】;

删除数据 的语法:delete from 表名 【[where 条件】;

delete 表1,表2,....... from 表1,表2,...... 【where 条件】;

查询数据 的语法:

SELECT 查询列表

FROM 表名或视图列表

【WHERE 条件表达式】

【GROUP BY 字段名 【HAVING 条件表达式】】

【ORDER BY 字段 【ASC|DESC】】

【LIMIT m,n】;

别名 的语法 : AS 别名;

去重 的语法 :distinct id

着重号 的语法 : 例如:select name from t_stu;

MySQL运算符:

算数运算符 : + - * / %

比较运算符 : = > >= < <= != <=>

逻辑运算符 :&&(and) ||(or) not xor

范围: between....and...(》=...and表达式a<=....)

not between...and...(<...>

集合 :in not in

模糊查询 : like not like %表示0-n个字符 _表示一个字符

位运算符: &(按位与) |(按位或)^(按位异或)~(按位取反)>>(右移)<

NULL值判断: is NULL is not NULL

关联查询 联合查询

内连接 :inner join cross join

外连接 :左外连接(LEFT OUTER JOIN)、右外连接(RIGHT OUTER JOIN)、全外连接(FULL OUTER JOIN)

自联结 :当table1和table2本质上是同一张表,只是用取别名的方式虚拟成两张表以代表不同的意义

迪卡尔积:

定义:将两(或多)个表的所有行进行组合,连接后的行数为两(或多)个表的乘积数.

关联条件:表连接的约束条件可以有三种方式:WHERE, ON, USING

WHERE:适用于所有关联查询

ON:只能和JOIN一起使用,只能写关联条件。虽然关联条件可以并到WHERE中和其他条件一起写,但分开写可读性更好。

USING:只能和JOIN一起使用,而且要求两个关联字段在关联表中名称一致,而且只能表示关联字段值相等

select 的5个子句:

1 、 where 条件查询;

2 、 group by 分组查询;

3 、 聚合函数

avg()平均值;

countI() 返回非NULL值得数目;

min() 返回最小值;

max() 返回最大值;

sum()返回总和;

4 、 having 筛选;

5 、 order by 排序 默认升序 加 DESC 降序

6 、 limit m,n 分页 #m表示从下标为m的记录开始查询,第一条记录下标为0,n表示取出n条出来,如果从m开始不够n条了,就有几条取几条。m=(page-1)*n

事务

GRANT:授予访问权限

REVOKE:撤销访问权限

COMMIT:提交事务处理

ROLLBACK:事务处理回退

SAVEPOINT:设置保存点

LOCK:对数据库的特定部分进行锁定

特性:

原子性(Atomicity):原子意为最小的粒子,或者说不能再分的事物。数据库事务的不可再分的原则即为原子性。 组成事务的所有SQL必须:要么全部执行,要么全部取消(就像上面的银行例子)。

一致性(Consistency):指数据的规则,在事务前/后应保持一致

隔离性(Isolation):简单点说,某个事务的操作对其他事务不可见的.

持久性(Durability):当事务提交完成后,其影响应该保留下来,不能撤消

用法:

开启事务(start transaction)

执行sql操作(普通sql操作)

提交/回滚(commit/rollback)

数据库得隔离:

Oracle 支持的 2 种事务隔离级别:READ COMMITED, SERIALIZABLE. Oracle 默认的事务隔离级别为: READ COMMITED

Mysql 支持 4 中事务隔离级别. Mysql 默认的事务隔离级别为: REPEATABLE-READ

每启动一个 mysql 程序, 就会获得一个单独的数据库连接. 每个数据库连接都有一个变量 @@tx_isolation, 表示当前的事务隔离级别.

l 查看当前的隔离级别: SELECT @@tx_isolation;

l 查看全局的隔离级别:select @@global.tx_isolation;

l 设置当前 mySQL 连接的隔离级别: set tx_isolation ='repeatable-read';

设置数据库系统的全局的隔离级别: set global tx_isolation ='read-committed';

权限系统的工作原理:

MySQL的权限系统通过下面两个阶段进行认证:

对连接到数据库的用户进行身份认证,以此来判断此用户是否属于合法的用户,合法的用户通过认证,不合法的用户拒绝连接

对通过认证的合法的用户则赋予相应的权限,用户可以在这些权限范围内对数据库做相应的操作

用户表user

user表有39个字段。这些字段可以分为4类:

l 用户列:host,user,password三个字段

l 安全列:ssl_type、ssl_cipher、x509_issuer、x509_subject

n ssl用于加密;x509标准可以用来标识用户。普通的发行版都没有加密功能。可以使用SHOW VARIABLES LIKE 'have_openssl'语句来查看是否具有ssl功能。如果取值为DISABLED,那么则没有ssl加密功能。

l 资源控制列:max_questions(每小时可以允许执行多少次查询)、max_updates(每小时可以允许执行多少次更新)、max_connections(每小时可以建立多少连接)、max_user_connections(单个用户可以同时具有的连接数)

n 默认值为0,表示无限制。

示例:

例1:创建用户admin,权限为可以在所有数据库上执行所有权限,但只能从本地进行连接

GRANT ALL PRIVILEGES ON . TO admin@localhost;

可以发现除了Grant_priv权限外,所有权限在user表里面都是Y.

例2:在例1基础上,增加对admin的grant权限

GRANT ALL PRIVILEGES ON . TO admin@localhost WITH GRANT OPTION;

例3:在例2基础上,设置密码为“123”

GRANT ALL PRIVILEGES ON . TO admin@localhost IDENTIFIED BY '123' WITH GRANT OPTION;

例4:创建新用户chai,可以从任何IP进行连接,权限为对test数据库的所有表进行SELECT、UPDATE、INSERT、DELETE操作,初始密码为“123”

GRANT SELECT,INSERT,UPDATE,DELETE ON test.* TO 'chai'@'%' IDENTIFIED BY '123';

发现此例,user表中权限都是N,db表中增加的记录权限则都是Y

注意:

mysql数据库的user表中user的值为空,表示所有用户都可以连接(此处不能用,表示用户名为*的用户了)

mysql数据库的user表中host的值为*或空,表示所有外部IP都可以连接,但是不包括本地服务器localhost,因此如果要包括本地服务器,必须单独为localhost赋予权限。如果host的值为%,表示所有IP,包括本地服务器localhost。

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

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

相关文章

spring security config

spring secuirty 相关的配置解析 permitAll()与web.ignoring() ingore是完全绕过了spring security的所有filter&#xff0c;相当于不走spring securitypermitall没有绕过spring security&#xff0c;其中包含了登录的以及匿名的。转载于:https://www.cnblogs.com/MND1024/p/10…

TSPITR方式数据库找回误操作丢失的数据

一、TSPITR介绍 TSPITR全称是Tablespace Point In Time Recover&#xff08;表空间基于时间点的不完全恢复&#xff09;。原理是通过辅助实例基于时间还原出误操作前的数据通过DataPump将数据导入到目标数据库。TSPITR的最大好处是不需要生产库停机。 二、适用场景 表空间时点恢…

乌班图系统的MySQL_乌班图系统mysql主从备份

一&#xff0e;准备系统&#xff1a;ubuntu 14.04.2 LTSMysql: server version 5.5.43两台主机可以互相通信&#xff1a;192.168.1.11 master192.168.1.12 slave二&#xff0e;步骤Master部分&#xff1a;1.创建备份帐号&#xff1a;slave密码&#xff1a;slaveGrant repl…

mysql table alter_MySQL-ALTER TABLE命令学习[20180503]

学习ALTER TABLE删除、添加和修改字段和类型CREATE TABLE alter_tab01(id int,col01 char(20))enginInnoDB default charsetutf8;删除字段ALTER TABLE DROP ;mysql> alter table alter_tab01 dropcol01;Query OK, 0 rows affected (0.01sec)Records: 0 Duplicates: 0 Warnin…

时间戳转换

13 位时间戳转换 1 通过java&#xff0c;如下&#xff1a; public static String timeStamp2Date(String time) {Long timeLong Long.parseLong(time);SimpleDateFormat sdf new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//要转换的时间格式Date date;try {date …

React.Component(V16.8.6)

组件的生命周期 挂载 当组件实例被创建并插入 DOM 中时&#xff0c;其生命周期调用顺序如下&#xff1a; constructor()static getDerivedStateFromProps()render()componentDidMount()componentWillMount() 之后将废弃 更新 当组件的 props 或 state 发生变化时会触发更新。组…

mysql date类型加一个月jdbc_JDBC操作数据库Date类型数据

JDBC操作数据库Date类型数据由于java原生的工具类java.util提供的Date对象与JDBC提供的Date对象并不相同分别是java.util.Date和java.sql.Datejava.sql.Date是java.util.Date的子类所以在进行增删改查部分操作中&#xff0c;不能直接将原生工具类的Date对象直接运用到JDBC中可以…

使用深度学习TensorFlow框架进行图片识别

Apsara Clouder大数据专项技能认证&#xff1a;使用深度学习TensorFlow框架进行图片识别本认证系统的介绍了深度学习的一些基础知识&#xff0c;以及Tensorflow的工作原理。通过阿里云机器学习PAI基于经典的CIFAR-10数据集实现图片识别。学员可以通过本实验&#xff0c;对深度学…

删除开发分支 新建另一个开发分支

//查看状态 git status //查看分支 会有一个分支git branch -d wlh-dev git branch //删除wlh-dev 分支 git branch -d wlh-dev //再次查看分支 git branch //拉代码 git pull //查看状态 git status //新分支创建的同时切换分支 git checkout -b wlh-dev1222 //…

ES语法及-IK分词器

{"query": {"query_string": {"default_field": "title",//全文搜索"query": "器大"}} } "id":1, "title":"Elasticsearch是一个基于Lucene的搜索服务器", "content":&q…

Git仓库配置

安装git依赖包 yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker 源码安装 wget https://github.com/git/git/archive/v2.7.4.zip unzip v2.7.4.zip cd git-2.7.4 make prefix/usr/local/git all make prefix/usr/l…

python3 tkinter电子书_Python3 Tkinter-Text

1.创建from tkinter import *rootTk()tText(root)t.pack()root.mainloop()2.添加文本from tkinter import *rootTk()tText(root)t.insert(1.0,0123456789)t.insert(1.0,ABDCEFGHIJ)t.pack()root.mainloop()3.设置添加位置from tkinter import *rootTk()tText(root)for i in ran…

问题 1: 区间交集

问题 1: 区间交集 题目描述 输入 5 个正整数 a1、b1、a2、b2 和 c&#xff0c;如果 c 在区间[a1, b1]内 并且 c 也在区间[a2, b2]内&#xff0c;输出”in”&#xff0c;否则输出”out”。 注意&#xff1a;方括号表示的是闭区间&#xff0c;[a, b]是包括 a 和 b 的。 输入 一行…

python倒三角形粉色填充笔的形状海龟_Python001-Turtle(海龟绘图)详解

一、简介Turtle库是Python语言中的一个绘制图像的函数库。详细文档&#xff1a; https://docs.python.org/zh-cn/3/library/turtle.html二、使用1.画布设置(canvas)(1)设置画布大小turtle.screensize(canvwidthNone, canvheightNone, bgNone)参数分别为画布的宽(单位像素), 高,…

Python 提取数据库(Postgresql)并邮件发送

刚入门python&#xff0c;发现确实是一个不错的语言。业务部门要求将将某一个数据库中的表&#xff0c;定期发送到相关部门人员邮箱。其实整个业务需求很简单&#xff0c;实现起来也不难。但是由于刚入门python&#xff0c;所以还是借鉴了不上网上的内容&#xff0c;也得到了许…

4.Python的不堪一击到初学乍练(列表,元组)

Python(列表,元组) 一.列表 列表初识 列表是python的基础数据类型之一,其他编程语言也有类似的数据类型. 比如JS中的数组, java中的数组等等,它是以[ ]括起来, 每个元素用","隔开并且可以存放各种数据类型.列表相比于字符串,不仅可以存放不同的数据类型,并且可以存放…

【前端工程师手册】说清楚JavaScript中的相等性判断

有哪些判断相等性的方法 JavaScript现在提供了三种方法来判断相等性&#xff1a; &#xff0c;三个等号即严格相等&#xff0c;两个等号即宽松相等Object.is()&#xff0c;ES6中用来判断相等的方法判断相等性的细节 &#xff08;严格相等&#xff09; 被比较的两个数不会进行类…

python多任务编程_python线程的多任务编程

多任务多任务介绍对于人来说&#xff0c;一边听歌&#xff0c;一边跳舞就是多任务。对于电脑&#xff0c;简单的说&#xff0c;同一时间执行多个程序处理数据叫做多任务多任务理解单核CPU单核cpu在处理多任务的时候是根据时间片轮转的方式进行的&#xff0c;比如执行QQ1us&…

列举python的5个数据类型_python公开课|新公布的5个python核心数据类型,这些细节你难道还不不知道吗...

【摘要】在这个科学技术高速发展的时代&#xff0c;越来越多的人都开始选择学习编程软件&#xff0c;那么首先被大家选择的编程软件就是python&#xff0c;也用在各行各业之中&#xff0c;并被大家所熟知&#xff0c;所以也有越来越多的python学习者关注python就业方向问题&…

selenium3 + python - page_source页面源码

前言&#xff1a; 有时候通过元素的属性的查找页面上的某个元素&#xff0c;可能不太好找&#xff0c;这时候可以从源码中爬出想要的信息。selenium的page_source方法可以获取到页面源码。 本次以博客园为例&#xff0c;先爬取页面源码&#xff0c;通过re正则表达式爬取出url&a…