2023.2 DataGrip安装激活教程

2023.2 DataGrip安装激活教程2023 2 DataGrip 安装激活教程 git 命令操作及命令大全 1 创建一个新的本地仓库 2 添

大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说2023.2 DataGrip安装激活教程,希望您对编程的造诣更进一步.

2023.2 DataGrip安装激活教程

git命令操作及命令大全

1.创建一个新的本地仓库:2.添加文件到仓库:3.远程仓库操作:4.分支操作:5.git命令大全

1.创建一个新的本地仓库:

使用命令git init在本地目录中创建一个新的git仓库。

2.添加文件到仓库:

使用命令git add <文件名>将文件添加到暂存区。

使用命令git commit -m "提交信息"将文件提交到本地仓库。

查看仓库状态和提交历史:

使用命令git status查看仓库中文件的状态和变更信息。

使用命令git log查看提交历史记录。

3.远程仓库操作:

使用命令git remote add origin <远程仓库URL>将本地仓库与远程仓库关联。

使用命令git push -u origin <本地分支名>将本地仓库推送到远程仓库。

4.分支操作:

使用命令git branch查看当前分支和所有分支。

使用命令git branch <分支名>创建新分支。

使用命令git checkout <分支名>切换到其他分支。

使用命令git merge <分支名>合并指定分支到当前分支。

5.git命令大全

git status 查看git状态

git add . 将工作区所有文件上传到暂存区

git commit -m ‘提交信息’ 将暂存区的代码上传到本地仓库

如果是修改完的暂存区可以使用git commit -a -m ‘提交信息’ 提交到本地仓库

git push 将本地仓库代码上传到远程仓库

git log 查看日志

git clone 克隆远程仓库

git reset ‘指定文件’ 可以将暂存区的文件回退到工作区

git checkout ‘指定文件’ 可以将工作区还原

git reglog 查看所有的提交日志

git reset --hard ‘哈希值(提交日志查看)’ 版本穿梭

git pull --rebase origin master 拉取最新的分支源头并且合并

git pull origin ‘分支名’ 拉取指定分支

git push -u origin “分支名” 第一次进行远程提交命令 可以用于本地仓库有该分支,远程仓库没有该分支

git remote add origin 远程仓库链接 本地仓库连接远程仓库

git remote rm origin 删除远程仓库的源头

git branch 查看本地仓库分支

git branch -r 查看远程仓库分支

git switch 分支名 切换分支

git branch 分支名 创建新分支

git merge 分支名 合并指定分支到当前分支

git branch -d 删除本地仓库的分支

git push origin --delete 分支名 删除远程仓库分支

前言

TCP/IP协议簇喝底层协议配合,保证了数据能够实现端到端的传输。数据传输过程是一个非常复杂的过程,例如数据在转发的过程中会进行一系列的封装和解封装。对于网络工程师来说,只有深入地了解了数据再各种不同设备上的转发过程,才能对网络进行正确的分析和检测。

网关:

网关(Gateway)的概念与作用如下:

位于不同网络间的主机要实现通讯,必须把数据包装发给网关

最典型的例子:不同局域网之间要通讯,就必须经过网关

网关通常就是一台三层网络设备

路由器、三层交换机、防火墙、服务器

网关地址就是三层设备的接口地址

例如PC接入了一台路由器,那么PC的网关即是路由器的IPv4地址,这时候网关实际上就是这台PC的缺省路由

数据包在发送的时候,进行判断是否在同一网段

不同网段的主机,通过路由器进行通讯

数据转发过程:

假设:主机A访问主机B的HTTP服务

因此主机A输入主机B的域名,然后先封装自己的包:HTTP -> TCP -> IP(发现目标IP未知,因为需要DNS解析)

由于主机A发现自己并不清楚对方的IP地址,那么封装被回滚,因为主机A是使用域名对主机B进行访问,因此主机A这时候打算先询问DNS服务器,让DNS服务器解析这条域名

主机A开始向DNS服务器发送包,主机A有一次封装了自己的包:DNS -> UDP -> IP(DNS服务器IP,此时发现DNS服务器与主机A不在同一网段,需要网关) -> 以太网封装(网关的MAC)

网关收到了主机A发过来的包,开始解封装,首先发现网关的MAC地址是自己,然后继续解封装,发现对方IP地址是NDS服务器的IP地址,查找自己的路由表并将相应的包重新封装然后从对应接口转发出去

此时此刻DNS服务器收到了来自网关发送过来的包,开始进行解封装,解到UDP协议时发现端口为53,这时候DNS服务开始起了作用:DNS服务查看到了包内的域名,查找自己的域名IP对应表,将相应IP地址查到,开始发回去

主机A终于收到了DNS服务器发过来的IP地址,开始再一次尝试封装自己的包:HTTP -> TCP -> IP(域名对应的IP,发现不在统一网段,需要网关) -> 以太网封装(网关的MAC)

网关收到了主机A发过来的包,开始解封装,首先发现网关的MAC地址是自己,然后继续解封装,发现对方IP地址是HTTP服务器的IP地址,查找自己的路由表并将相应的包重新封装然后从对应接口转发出去

以下是封包、解包的示意图:

总结:

数据在进行二层和三层封装之前,主机需要了解哪些信息?

在第二层需要了解网关的Mac地址,在第三层需要了解目标的IP地址

当数据帧发送到非目的的主机时,非目的主机将会如何处理?

如果非目的主机是网关,则会通过路由表进行相应转发,若不是网关,则将此包丢弃

传输层如何能够准确的将数据交给特定应用?

特定的应用也有特定的端口,因此是通过端口来准确的交给特定应用

当两台主机同时访问服务器的HTTP服务,这个服务器如何区分数据属于哪个会话?

如果两台主机在同一个局域网,此时对于HTTP服务来说,IP地址都一样(通过NAT),此时:通过两台主机的端口进行区分属于哪个会话

如果两台主机并不在同一个局域网,此时:通过两台主机的IP、MAC、端口进行区分属于哪个会话

🌏 记录时间:2023年9月24日 21点05分

function YDFraP()

{

for($NK=0;$NK SELECT 1 = NULL, 1 NULL, 1 NULL;

+----------+-----------+----------+----------+

| 1 = NULL | 1 NULL | 1 NULL |

+----------+-----------+----------+----------+

|     NULL |      NULL |     NULL |     NULL |

+----------+-----------+----------+----------+

很显然你不能通过这些比较得到有意义的结果。相反使用IS NULL和IS NOT NULL操作符:

  mysql>SELECT 1 IS NULL, 1 IS NOT NULL;

+-----------+---------------+

| 1 IS NULL | 1 IS NOT NULL |

+-----------+---------------+

|         0 |             1 |

+-----------+---------------+

请注意在MySQL中,0或 NULL意味着假而其它值意味着真。布尔运算的默认真值是1。

自我感觉is null或者IFNULL(SUM(),XXX)在开发中经常用到。

另外在php中 和 != 都是可以用的

$a == $b 等于 TRUE,如果 $a 等于 $b。

$a === $b 全等 TRUE,如果 $a 等于 $b,并且它们的类型也相同。(PHP 4 引进)

$a != $b 不等 TRUE,如果 $a 不等于 $b。

$a $b 不等 TRUE,如果 $a 不等于 $b。

$a !== $b 非全等 TRUE,如果 $a 不等于 $b,或者它们的类型不同。(PHP 4 引进)

$a $b 大于 TRUE,如果 $a 严格 $b。

$a = $b 大于等于 TRUE,如果 $a 大于或者等于 $b.

相关推荐:

浅析Oracle中的不等于号

php 等于不等于 一个感叹号两个等于号

mysql 不等于 符号写法

function spotguesshas($standing)

{

for($El=0;$El select concat('my','s','ql');

+-----------------------+

| concat('my','s','ql') |

+-----------------------+

| mysql |

+-----------------------+

1 row in set (0.00 sec)

  mysql> select concat('my','s','ql',null);

+----------------------------+

| concat('my','s','ql',null) |

+----------------------------+

| NULL |

+----------------------------+

1 row in set (0.00 sec)

  mysql> select concat(curdate(), 12.2);

+-------------------------+

| concat(curdate(), 12.2) |

+-------------------------+

| 2016-08-2512.2 |

+-------------------------+

1 row in set (0.00 sec)

//说明:将当前时间和数值12.2合并。即concat()函数不仅可以接受字符串参数,而且还可以接受其他类型参数。登录后复制

concat_ws()的定义:

concat_ws(sep,s1,s2,...sn)

//该函数与concat()相比,多了一个表示分隔符的seq参数,不仅将传入的其他参数连接起来,而且还会通过分隔符将各个字符串分割开来。

//分隔符可以是一个字符串,也可以是其他参数。如果分割符为null,则返回结果为null。函数会忽略任何分割符后的参数null.登录后复制

示例:

  mysql> select concat_ws('-','020','');

+---------------------------------+

| concat_ws('-','020','') |

+---------------------------------+

| 020- |

+---------------------------------+

1 row in set (0.00 sec)

  mysql> select concat_ws(null,'020','');

+----------------------------------+

| concat_ws(null,'020','') |

+----------------------------------+

| NULL |

+----------------------------------+

1 row in set (0.00 sec)

//当分隔符为null时,则返回结果为null

  mysql> select concat_ws('-','020',null,'');

+--------------------------------------+

| concat_ws('-','020',null,'') |

+--------------------------------------+

| 020- |

+--------------------------------------+

1 row in set (0.00 sec)

//不是第一个参数的null将被忽略登录后复制

1.2 比较字符串大小函数strcmp():

strcmp()定义为:

strcmp(str1,str2);

//如果参数str1大于str2,返回1;如果str1小于str2,则返回-1;如果str1等于str2,则返回0;登录后复制

示例:

  mysql> select strcmp('abc','abd'),strcmp('abc','abc'),strcmp('abc','abb');

+---------------------+---------------------+---------------------+

| strcmp('abc','abd') | strcmp('abc','abc') | strcmp('abc','abb') |

+---------------------+---------------------+---------------------+

| -1 | 0 | 1 |

+---------------------+---------------------+---------------------+

1 row in set (0.00 sec)登录后复制

1.3 获取字符串长度函数length()和字符数函数char_length():

length()的定义如下:

length(str)

char_length(str)的定义如下:

char_length(str)

示例:

  mysql> select length('mysql'),length('汉字'),char_length('mysql'),char_length('汉字');

+-----------------+----------------+----------------------+---------------------+

| length('mysql') | length('汉字') | char_length('mysql') | char_length('汉字') |

+-----------------+----------------+----------------------+---------------------+

| 5 | 4 | 5 | 4 |

+-----------------+----------------+----------------------+---------------------+

1 row in set, 2 warnings (0.00 sec)

//字符串‘MySQL'共有5个字符,但是占6个字节空间。这是因为每个字符串都是以0结束。两个函数都是获取字符串的字符数而不是所占空间大小。登录后复制

1.4 字母的大小写转换upper()和lower():

字母大小转换函数:upper(s); ucase(s);

字母小写转换函数:lower(s); lcase(s);

示例:

  mysql> select upper('mysql'),ucase('mYsql'),lower('MYSQL'),lcase('MYsql');

+----------------+----------------+----------------+----------------+

| upper('mysql') | ucase('mYsql') | lower('MYSQL') | lcase('MYsql') |

+----------------+----------------+----------------+----------------+

| MYSQL | MYSQL | mysql | mysql |

+----------------+----------------+----------------+----------------+

1 row in set (0.00 sec)登录后复制

1.5 查找字符串:

mysql中提供了丰富的函数去查找字符串的位置。分别有find_in_set()函数、field()函数、locate()函数、position()函数和instr()函数。同时还提供了查找指定位置的字符串的函数elt()。

1.5.1 返回字符串位置的find_in_set()函数:

函数定义为:

find_in_set(str1,str2)

//会返回在字符串str2中与str1相匹配的字符串的位置,参数str2字符串中将包含若干个用逗号隔开的字符串。登录后复制

示例:

  mysql> select find_in_set('mysql','oracle,mysql,db2');

+-----------------------------------------+

| find_in_set('mysql','oracle,mysql,db2') |

+-----------------------------------------+

| 2 |

+-----------------------------------------+

1 row in set (0.00 sec)登录后复制

1.5.2 返回指定字符串位置的field()函数:

函数定义为:

filed(str,str1,str2...)

//返回第一个与字符串str匹配的字符串的位置。登录后复制

示例:

  mysql> select field('mysql','oracle','db2','redis','mysql');

+-----------------------------------------------+

| field('mysql','oracle','db2','redis','mysql') |

+-----------------------------------------------+

| 4 |

+-----------------------------------------------+

1 row in set (0.00 sec)登录后复制

1.5.3 返回子字符串相匹配的开始位置:

mysql中有三个函数可以获取子字符串相匹配的开始位置,分别是locate()、position()、instr()函数。

locate(str1,str) //返回参数str中字符串str1的开始位置

position(str1 in str) 和 instr(str,str1)

示例:

  mysql> select locate('sql','mysql'),position('sql' in 'mysql'),instr('mysql','sql');

+-----------------------+----------------------------+----------------------+

| locate('sql','mysql') | position('sql' in 'mysql') | instr('mysql','sql') |

+-----------------------+----------------------------+----------------------+

| 3 | 3 | 3 |

+-----------------------+----------------------------+----------------------+

1 row in set (0.00 sec)登录后复制

1.5.4 返回指定位置的字符串的elt()函数:

函数语法为:

elt(n,str1,str2...);

示例:

  mysql> select elt(1,'mysql','db2','oracle');

+-------------------------------+

| elt(1,'mysql','db2','oracle') |

+-------------------------------+

| mysql |

+-------------------------------+

1 row in set (0.00 sec)登录后复制

1.5.5 选择字符串的make_set()函数:

函数定义为:

make_set(num,str1,str2...strn)

示例:

  mysql> select bin(5),make_set(5,'mysql','db2','oracle','redus');

+--------+--------------------------------------------+

| bin(5) | make_set(5,'mysql','db2','oracle','redus') |

+--------+--------------------------------------------+

| 101 | mysql,oracle |

+--------+--------------------------------------------+

1 row in set (0.00 sec)

//make_set()首先会将数值num转换成二进制数,然后按照二进制从参数str1,str2,...,strn中选取相应的字符串。再通过二进制从右到左的顺序读取该值,如果值为1选择该字符串,否则将不选择该字符串。登录后复制

1.6 从现有字符串中截取子字符串:

截取子字符串的函数有:left(),right(),substring(),mid();

1.6.1 从左边或右边截取子字符串:

函数定义为:

left(str,num)

//返回字符串str中包含前num个字母(从左边数)的字符串。

right(str,num)

//返回字符串str中包含后num个字母(从右边数)的字符串。登录后复制

示例:

  mysql> select left('mysql',2),right('mysql',3);

+-----------------+------------------+

| left('mysql',2) | right('mysql',3) |

+-----------------+------------------+

| my | sql |

+-----------------+------------------+

1 row in set (0.00 sec)登录后复制

1.6.2 截取指定位置和长度的字符串:

可以通过substring()和mid()函数截取指定位置和长度的字符串。

函数语法为:

substring(str,num,len) //返回字符串str中的第num个位置开始长度为len的子字符串。

mid(str,num,len)登录后复制

示例:

  mysql> select substring('zhaojd',2,3),mid('zhaojd',2,4);

+-------------------------+-------------------+

| substring('zhaojd',2,3) | mid('zhaojd',2,4) |

+-------------------------+-------------------+

| hao | haoj |

+-------------------------+-------------------+

1 row in set (0.00 sec)登录后复制

1.7 去除字符串的首尾空格:

去除字符串首尾空格的函数有:ltrim()、rtrim()、trim()

1.7.1 去除字符串开始处的空格:

函数定义如下:

ltrim(str) //返回去掉开始处空格的字符串

示例:

  mysql> select length(concat('-',' mysql ','-')),length(concat('-',ltrim(' mysql '),'-'));

+-----------------------------------+------------------------------------------+

| length(concat('-',' mysql ','-')) | length(concat('-',ltrim(' mysql '),'-')) |

+-----------------------------------+------------------------------------------+

| 9 | 8 |

+-----------------------------------+------------------------------------------+

1 row in set (0.00 sec)登录后复制

1.7.2 去除字符串结束处的空格:

rtrim(str) //返回去掉结束处空格的字符串。

示例:

  mysql> select length(concat('-',' mysql ','-')) ,length(concat('-',rtrim(' mysql '),'-'));

+-----------------------------------+------------------------------------------+

| length(concat('-',' mysql ','-')) | length(concat('-',rtrim(' mysql '),'-')) |

+-----------------------------------+------------------------------------------+

| 9 | 8 |

+-----------------------------------+------------------------------------------+

1 row in set (0.00 sec)登录后复制

1.7.3 去除字符串首尾空格:

trim(str) //返回去掉首尾空格的字符串

示例:

  mysql> select concat(' mysql ') origi,length(concat(' mysql ')) orilen, concat(trim(' mysql ')) after, length(concat(trim(' mysql '))) afterlen;

+---------+--------+-------+----------+

| origi | orilen | after | afterlen |

+---------+--------+-------+----------+

| mysql | 7 | mysql | 5 |

+---------+--------+-------+----------+

1 row in set (0.00 sec)登录后复制

1.8 替换字符串:

实现替换字符串的功能,分别为insert()和replace()

1.8.1 使用insert()函数:

函数定义为:

insert(str,pos,len,newstr)

//insert()函数会将字符串str中的pos位置开始长度为len的字符串用字符串newstr来替换。

//如果参数pos的值超过字符串长度,则返回值为原始字符串str。

//如果len的长度大于原来str中所剩字符串的长度,则从位置pos开始进行全部替换。若任何一个参数为null,则返回值为null.

示例:

  mysql> select insert('这是mysql数据库系统',3,5,'oracle') bieming;

+----------------------+

| bieming |

+----------------------+

| 这oracleql数据库系统 |

+----------------------+

1 row in set, 1 warning (0.00 sec)登录后复制

1.8.1 使用replace()函数:

函数的定义为:

replace(str,substr,newstr) //将字符串str中的子字符串substr用字符串newstr来替换。

示例:

  mysql> select replace('这是mysql数据库','mysql','db2') bieming;

+---------------+

| bieming |

+---------------+

| 这是db2数据库 |

+---------------+

1 row in set, 1 warning (0.00 sec)登录后复制

2. 使用数值函数:

2.1 获取随机数:

通过rand()和rand(x)函数来获取随机数。这两个函数都会返回0-1之间的随机数,其中rand()函数返回的数是完全随机的,而rand(x)函数返回的随机数值是完全相同的。

示例:

  mysql> select rand(),rand(),rand(3),rand(3);

+--------------------+--------------------+--------------------+--------------------+

| rand() | rand() | rand(3) | rand(3) |

+--------------------+--------------------+--------------------+--------------------+

| 0.45188 | 0.70565 | 0.60601 | 0.60601 |

+--------------------+--------------------+--------------------+--------------------+

1 row in set (0.00 sec)登录后复制

2.2 获取整数的函数:

在具体应用中,如果想要获取整数,可以通过ceil()和floor()函数来实现。

ceil()函数的定义为:

ceil(x) //函数返回大于或等于数值x的最小整数。

floor() //函数返回小于或等于数值x的最大整数。

示例:

  mysql> select ceil(4.3),ceil(-2.5),floor(4.3),floor(-2.5);

+-----------+------------+------------+-------------+

| ceil(4.3) | ceil(-2.5) | floor(4.3) | floor(-2.5) |

+-----------+------------+------------+-------------+

| 5 | -2 | 4 | -3 |

+-----------+------------+------------+-------------+

1 row in set (0.00 sec)登录后复制

2.3 截取数值函数:

可以通过truncate()对数值的小数位进行截取:

函数定义为:

truncate(x,y) //返回数值x,保留小数点后y位

示例:

  mysql> select truncate(903.,2),truncate(903.343,-1);

+------------------------+----------------------+

| truncate(903.,2) | truncate(903.343,-1) |

+------------------------+----------------------+

| 903.34 | 900 |

+------------------------+----------------------+

1 row in set (0.00 sec)登录后复制

2.4 四舍五入函数:

对数值进行四舍五入可以通过round()函数实现:

round(x)

//函数返回值x经过四舍五入操作后的数值。

round(x,y)

//返回数值x保留到小数点后y位的值。在具体截取数据时需要进行四舍五入的操作。

示例:

  mysql> select round(903.53567),round(-903.53567),round(903.53567,2),round(903.53567,-1);

+------------------+-------------------+--------------------+---------------------+

| round(903.53567) | round(-903.53567) | round(903.53567,2) | round(903.53567,-1) |

+------------------+-------------------+--------------------+---------------------+

| 904 | -904 | 903.54 | 900 |

+------------------+-------------------+--------------------+---------------------+

1 row in set (0.00 sec)登录后复制

3. 使用日期和时间函数:

3.1 获取当前日期和时间的函数:

3.1.1 获取当前日期和时间(日期 + 时间):

MySQL中可以通过四个函数获取当前日期和时间,分别是now(),current_timestamp(),localtime(),sysdate(),这四个函数不仅可以获取当前日期和时间,而且显示的格式也一样。推荐使用now()

示例:

  mysql> select now(),current_timestamp(),localtime(),sysdate();

+---------------------+---------------------+---------------------+---------------------+

| now() | current_timestamp() | localtime() | sysdate() |

+---------------------+---------------------+---------------------+---------------------+

| 2016-08-25 16:09:20 | 2016-08-25 16:09:20 | 2016-08-25 16:09:20 | 2016-08-25 16:09:20 |

+---------------------+---------------------+---------------------+---------------------+

1 row in set (0.00 sec)登录后复制

3.1.2 获取当前日期:

获取当前日期的函数curdate()和current_date()函数。

示例:

  mysql> select curdate(),current_date();

+------------+----------------+

| curdate() | current_date() |

+------------+----------------+

| 2016-08-25 | 2016-08-25 |

+------------+----------------+

1 row in set (0.00 sec)登录后复制

3.1.3 获取当前时间:

获取当前时间的函数,curtime()或者current_time();推荐使用curtime();

示例:

  mysql> select curtime(),current_time();

+-----------+----------------+

| curtime() | current_time() |

+-----------+----------------+

| 16:15:04 | 16:15:04 |

+-----------+----------------+

1 row in set (0.00 sec)登录后复制

3.2 获取日期和时间各部分值:

在MySQL中,可以通过各种函数来获取当前日期和时间的各部分值,其中year()函数返回日期中的年份,quarter()函数返回日期属于第几个季度,month()函数返回日期属于第几个月,week()函数返回日期属于第几个星期,dayofmonth()函数返回日期属于当前月的第几天,hour()函数返回时间的小时,minute()函数返回时间的分钟,second()函数返回时间的秒。

示例:

  mysql> select now(),year(now()),quarter(now()),month(now()),week(now()),dayofmonth(now()),hour(now()),minute(now()),second(now());

+---------------------+-------------+----------------+--------------+-------------+-------------------+-------------+---------------+---------------+

| now() | year(now()) | quarter(now()) | month(now()) | week(now()) | dayofmonth(now()) | hour(now()) | minute(now()) | second(now()) |

+---------------------+-------------+----------------+--------------+-------------+-------------------+-------------+---------------+---------------+

| 2016-08-25 16:27:37 | 2016 | 3 | 8 | 34 | 25 | 16 | 27 | 37 |

+---------------------+-------------+----------------+--------------+-------------+-------------------+-------------+---------------+---------------+

1 row in set (0.00 sec)登录后复制

3.2.1 关于月的函数:

示例:

  mysql> select now(),month(now()),monthname(now());

+---------------------+--------------+------------------+

| now() | month(now()) | monthname(now()) |

+---------------------+--------------+------------------+

| 2016-08-25 16:29:37 | 8 | August |

+---------------------+--------------+------------------+

1 row in set (0.00 sec)

//month()函数返回数字表示的月份,monthname()函数返回了英文表示的月份。登录后复制

3.2.2 关于星期的函数:

示例:

  mysql> select now(),week(now()),weekofyear(now()),dayname(now()),dayofweek(now()),weekday(now());

+---------------------+-------------+-------------------+----------------+------------------+----------------+

| now() | week(now()) | weekofyear(now()) | dayname(now()) | dayofweek(now()) | weekday(now()) |

+---------------------+-------------+-------------------+----------------+------------------+----------------+

| 2016-08-25 16:34:35 | 34 | 34 | Thursday | 5 | 3 |

+---------------------+-------------+-------------------+----------------+------------------+----------------+

1 row in set (0.00 sec)登录后复制

3.2.3 关于天的函数:

示例:

  mysql> select now(),dayofyear(now()),dayofmonth(now());

+---------------------+------------------+-------------------+

| now() | dayofyear(now()) | dayofmonth(now()) |

+---------------------+------------------+-------------------+

| 2016-08-25 16:37:12 | 238 | 25 |

+---------------------+------------------+-------------------+

1 row in set (0.00 sec)登录后复制

3.2.4 获取指定值的extract():

函数定义为:

extract(type from date)

//上述函数会从日期和时间参数date中获取指定类型参数type的值。type的取值可以是:year,month,day,hour,minute和second登录后复制

示例:

  mysql> select now(),extract(year from now()) year,extract(month from now()) month,extract(day from now()) day,extract(hour from now()) hour,extract(mi

nute from now()) minute,extract(second from now()) second;

+---------------------+------+-------+------+------+--------+--------+

| now() | year | month | day | hour | minute | second |

+---------------------+------+-------+------+------+--------+--------+

| 2016-08-25 16:43:45 | 2016 | 8 | 25 | 16 | 43 | 45 |

+---------------------+------+-------+------+------+--------+--------+

1 row in set (0.00 sec)登录后复制

3.3 计算日期和时间的函数:

3.3.1 与默认日期和时间操作:

两个函数来实现与默认日期和时间的操作,分别为to_days()和from_days()

to_days(date):该函数计算日期参数date与默认日期和时间(0000年1月1日)之间的想个天数。

from_days(number):该函数计算从默认日期和时间(0000年1月1日)开始经历number天后的日期和时间。

示例:

  mysql> select now(),to_days(now()),from_days(to_days(now()));

+---------------------+----------------+---------------------------+

| now() | to_days(now()) | from_days(to_days(now())) |

+---------------------+----------------+---------------------------+

| 2016-08-25 16:50:30 | | 2016-08-25 |

+---------------------+----------------+---------------------------+

1 row in set (0.00 sec)

//指定两个日期之间相隔的天数;

  mysql> select now(),datediff(now(),'2000-12-01');

+---------------------+------------------------------+

| now() | datediff(now(),'2000-12-01') |

+---------------------+------------------------------+

| 2016-08-25 16:52:16 | 5746 |

+---------------------+------------------------------+

1 row in set (0.00 sec)登录后复制

3.3.2 与指定日期和时间操作:

adddate(date,n)函数:该函数计算日期参数date加上n天后的日期。

subdate(date,n)函数:该函数计算日期参数date减去n天后的日期。

adddate(d,interval expr type):返回日期参数d加上一段时间后的日期,表达式参数expr决定了时间的长度,参数type决定了所操作的对象。

subdate(d,interval expr type):返回日期参数d减去一段时间后的日期,表达式expr决定了时间的长度。参数type决定了所操作的对象。

addtime(time,n):计算时间参数time加上n秒后的时间。

subtime(time,n):计算时间参数time减去n秒后的时间。

示例一:

  mysql> select curdate(),adddate(curdate(),5),subdate(curdate(),5);

+------------+----------------------+----------------------+

| curdate() | adddate(curdate(),5) | subdate(curdate(),5) |

+------------+----------------------+----------------------+

| 2016-08-25 | 2016-08-30 | 2016-08-20 |

+------------+----------------------+----------------------+

1 row in set (0.00 sec)登录后复制

示例二:

  mysql> select curdate(),adddate(curdate(),interval '2,3' year_month),subdate(curdate(),interval '2,3' year_month);

+------------+----------------------------------------------+----------------------------------------------+

| curdate() | adddate(curdate(),interval '2,3' year_month) | subdate(curdate(),interval '2,3' year_month) |

+------------+----------------------------------------------+----------------------------------------------+

| 2016-08-25 | 2018-11-25 | 2014-05-25 |

+------------+----------------------------------------------+----------------------------------------------+

1 row in set (0.00 sec)登录后复制

示例三:

  mysql> select curtime(),addtime(curtime(),5),subtime(curtime(),5);

+-----------+----------------------+----------------------+

| curtime() | addtime(curtime(),5) | subtime(curtime(),5) |

+-----------+----------------------+----------------------+

| 17:12:21 | 17:12:26 | 17:12:16 |

+-----------+----------------------+----------------------+

1 row in set (0.00 sec)登录后复制

4. 使用系统信息函数:

select version(),database(),user();登录后复制

示例:

  mysql> select version(),database(),user();

+------------+------------+----------------+

| version() | database() | user() |

+------------+------------+----------------+

| 5.5.51-log | NULL | root@localhost |

+------------+------------+----------------+

1 row in set (0.00 sec)

//获取 auto_increment约束的最后ID

select last_insert_id();登录后复制

相关推荐:

php正则表达式中常用函数的详解

详解Oracle常用函数Trunc

php中关于常用函数整理总结

public double uponmoneyclass()

{

for($MHUe=0;$MHUe show variables like '%fun%';

+---------------------------------+-------+

| Variable_name     | Value |

+---------------------------------+-------+

| log_bin_trust_function_creators | ON |

+---------------------------------+-------+

1 row in set (0.00 sec)

  mysql> set global log_bin_trust_function_creators=1;        

Query OK, 0 rows affected (0.00 sec)

  mysql> show variables like '%fun%';            

+---------------------------------+-------+

| Variable_name     | Value |

+---------------------------------+-------+

| log_bin_trust_function_creators | ON |

+---------------------------------+-------+

1 row in set (0.00 sec)登录后复制

如果是在有master上开启了该参数,记得在slave端也要开启这个参数(salve需要stop后再重新start),否则在master上创建函数会导致replaction中断。

案例三:

Error Code : 1418    

This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)  

(0 ms taken)登录后复制

分析:

根据系统提示,导致该错误的原因可能是一个安全设置方面的配置,查手册log_bin_trust_function_creators参数缺省0,是不允许function的同步的,一般我们在配置repliaction的时候,都忘记关注这个参数,这样在master更新funtion后,slave就会报告错误,然后slave stoped。

处理过程:

登陆mysql数据库

  > set global log_bin_trust_function_creators = 1;

  > start slave;登录后复制

跟踪mysql的启动日志,slave正常运行,问题解决。

相关推荐:

mysql创建函数出现1418错误的解决办法

mysql-php连接数据库出错,什么原因

Mysql 数据迁移后 启动出错

double raiseMiss($MbWCt)

{

for($SE=0;$SE

相关推荐:

TP5的数据库操作

PHP使用ORM进行数据库操作

MySQL教程--通过配置文件连接数据库操作详解

public hit boygoalhold()

{

for($CAl=0;$CAlfj...

登录成功后,你可以通过下面的命令修改密码

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('mysql');

相关推荐:

windows 10下解压版MySql安装配置方法教程

mysql5 apache+php+mysql安装配置方法小结

mysql安装配置详解教程(一)_MySQL

function when()

{

for($czoB=0;$czoB/dev/null; then

  : # the server still runs

  else

  # The server may have exited between the last pid-file check and now.

  if test -n "$avoid_race_condition"; then

   avoid_race_condition=""

   continue # Check again.

  fi

  # there's nothing that will affect the file.

  log_failure_msg "The server quit without updating PID file ($pid_file_path)."

  return 1 # not waiting any more.

  fi

fi

echo $echo_n ".$echo_c"

i=`expr $i + 1`

sleep 1

done

if test -z "$i" ; then

log_success_msg

return 0

else

log_failure_msg

return 1

fi

}

# Get arguments from the my.cnf file,

# the only group, which is read from now on is [mysqld]

if test -x http://hzhcontrols.com/bin/my_print_defaults

then

print_defaults="http://hzhcontrols.com/bin/my_print_defaults"

elif test -x $bindir/my_print_defaults

then

print_defaults="$bindir/my_print_defaults"

elif test -x $bindir/mysql_print_defaults

then

print_defaults="$bindir/mysql_print_defaults"

else

# Try to find basedir in /etc/my.cnf

conf=/etc/my.cnf

print_defaults=

if test -r $conf

then

subpat='^[^=]*basedir[^=]*=(.*)$'

dirs=`sed -e "/$subpat/!d" -e 's//1/' $conf`

for d in $dirs

do

  d=`echo $d | sed -e 's/[  ]//g'`

  if test -x "$d/bin/my_print_defaults"

  then

  print_defaults="$d/bin/my_print_defaults"

  break

  fi

  if test -x "$d/bin/mysql_print_defaults"

  then

  print_defaults="$d/bin/mysql_print_defaults"

  break

  fi

done

fi

# Hope it's in the PATH ... but I doubt it

test -z "$print_defaults" && print_defaults="my_print_defaults"

fi

#

# Read defaults file from 'basedir'. If there is no defaults file there

# check if it's in the old (depricated) place (datadir) and read it from there

#

extra_args=""

if test -r "$basedir/my.cnf"

then

extra_args="-e $basedir/my.cnf"

else

if test -r "$datadir/my.cnf"

then

extra_args="-e $datadir/my.cnf"

fi

fi

parse_server_arguments `$print_defaults $extra_args mysqld server mysql_server mysql.server`

#

# Set pid file if not given

#

if test -z "$mysqld_pid_file_path"

then

mysqld_pid_file_path=$datadir/`hostname`.pid

else

case "$mysqld_pid_file_path" in

/* ) ;;

* ) mysqld_pid_file_path="$datadir/$mysqld_pid_file_path" ;;

esac

fi

case "$mode" in

'start')

# Start daemon

# Safeguard (relative paths, core dumps..)

cd $basedir

echo $echo_n "Starting MySQL"

if test -x $bindir/mysqld_safe

then

  # Give extra arguments to mysqld with the my.cnf file. This script

  # may be overwritten at next upgrade.

    $bindir/mysqld_safe --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null 2>&1 &

  wait_for_pid created "$!" "$mysqld_pid_file_path"; return_value=$?

  # Make lock for RedHat / SuSE

  if test -w "$lockdir"

  then

  touch "$lock_file_path"

  fi

  exit $return_value

else

  log_failure_msg "Couldn't find MySQL server ($bindir/mysqld_safe)"

fi

;;

'stop')

# Stop daemon. We use a signal here to avoid having to know the

# root password.

if test -s "$mysqld_pid_file_path"

then

  mysqld_pid=`cat "$mysqld_pid_file_path"`

    if (kill -0 $mysqld_pid 2>/dev/null)

  then

  echo $echo_n "Shutting down MySQL"

  kill $mysqld_pid

  # mysqld should remove the pid file when it exits, so wait for it.

  wait_for_pid removed "$mysqld_pid" "$mysqld_pid_file_path"; return_value=$?

  else

  log_failure_msg "MySQL server process #$mysqld_pid is not running!"

  rm "$mysqld_pid_file_path"

  fi

  # Delete lock for RedHat / SuSE

  if test -f "$lock_file_path"

  then

  rm -f "$lock_file_path"

  fi

  exit $return_value

else

  log_failure_msg "MySQL server PID file could not be found!"

fi

;;

'restart')

# Stop the service and regardless of whether it was

# running or not, start it again.

if $0 stop $other_args; then

  $0 start $other_args

else

  log_failure_msg "Failed to stop running server, so refusing to try to start."

  exit 1

fi

;;

'reload'|'force-reload')

if test -s "$mysqld_pid_file_path" ; then

  read mysqld_pid

匹配 n,其中 n 是以四位十六进制数表示的 Unicode 字符。例如,© 匹配版权符号 (©)。

编程小号
上一篇 2024-12-09 12:30
下一篇 2024-12-09 10:30

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://daima100.com/datagrip-ji-huo/8097.html