mysql使用积累

目录:

一、总述:

1、定义:
DB:数据库
DBMS:数据库操作系统
事实上我们常用的操作工具是DBMS,而不是DB,不过很多人会口头上混淆。
SQL:结构化通用语言,用于和数据库通信

2、数据库的存储方式:
数据单体:数据—》行【一行为一个数据,每列相当于该数据不同的属性】
组成单位:字段——》列——》表——》库

3、mysql优点:
1.成本低,开源,免费
2.速度快
3.体积小,方便安装和使用

4、DBMS分类:
1.基于共享文件系统【微软】
2.基于客户机(c/s架构)【客户端和服务端】

5、可以通过更改主目录下的配置文件更改配置,文件名为‘my’或‘my.ini’

6、打开或关闭sql服务:
管理员权限下的命令行中输入:net start/stop servers(服务的名字,这个名字有可能是默认的也可能是安装者自命名的)
或者在计算机管理中手动关闭服务

7、登录方式:
1.管理员cmd下输入:

mysql ( -h localhost -P 3306) -u root -p password

注:连接本机时,括号部分可以不要。-p 和密码直接的空格可要可不要,一般不要更好,有空格可能在某些情况下(比如换行)报错。

8、语法规范:
1.不区分大写小写,但是建议关键字大写,表名列名小写
2.每条命令‘;’结尾
3.根据长度可以缩进或换行,建议关键字换行
4.注释:
单行注释:‘#’或者'-- ' 注意后一个是横杠横杆空格
多行注释:/* 内容 */
9、具体的语言分为:DQL,DML,DDL,TCL等,了解即可。
10、通配符和转义:

%                                    任意多个字符,包括无字符
_                                    下划线,单个任意字符
\                                     转义
‘_$%a%’  escape '$'                  将$转义成单纯的符号

11、需要注意的是,mysql的索引是从1开始的

二、查询

1、基础查询

  • 1、总格式:
select something from something

特点:
1.查询的可以是表中字段、函数、表达式(可计算的会直接查询结果)等
2.查询的结果是一个虚拟的表格,并没有存储在数据库中,一旦运行另一段语句,表格消失。
3.查询可以一次查询一个,多个(逗号隔开),所有(*)。
4.查询也可以作用于查询数据库内有多少个表

  • 2、起别名:
select a as b   或者  select a b

把查询a并将结果放在命名为b下

  • 3、查询表格结构:
desc A

查询A表结构

  • 4、去重:
select distinct  a from B as b

从B表中查询a,并命名为b。且from和as的位置没有啥绝对关系,看心情放。

  • 5、“+”号的使用:
select 100+90                              查询190
select '110'+90                            查询200
select 'john'+90                           查询90
select null+90                             查询null

有数字的项优先查询计算结果,有字符串的话若能转换成数字,则转换成数字计算,若不能,则看成是0计算。有null的项,全部看成null。

  • 6、连接concat:
select concat(a,b,c) as d

查询a,b,c,并将结果合并为abc栏,重命名为d栏。

  • 7、去null:
ifnull(A,b)

查询A,将结果中出现的null转换成b

  • 8、isnull(A)判断A中是否有null,true为1,false为0

2、条件查询
总结构

select A from B where C

从B中筛选符合条件C的A值

1.按条件表达式查询:

<                                           小于
>                                           大于
!=                                          不等于
<>                                          不等于(推荐使用)
>=                                          小于等于
<=                                          大于等于
<=>                                         安全等于(既可以比较数值,也可以比较字符串,null而不会报错,不过判断null一般还是用isnull,可读性好)

2.按逻辑表达式筛选

and                                            和
&&                                             和
or                                             或
||                                             或
not                                            非
!                                             非

3.模糊查询

like                                   如同
between   and                          于‘’和‘’之间(包括端点,且左小右大不可逆)
in                                     包含于
isnull                                 为空
is not null                            不为空

3、排序查询

  • 1、总述:

基本结构

select A from B where C order by D [asc/desc];

asc:升序(默认)
desc:降序
多字段排序也是支持的,但是要用‘,’隔开。

select A from B where C order by D [asc/desc],F [asc/desc];
  • 2、order by 排序列表
    1.asc/desc 升序、降序
    2.order by 支持多字段,表达式等查询
    3.一般放在查询语句最后面,limit字句除外

4常见函数的学习
基本结构

select    函数名(实参)   【from 表】

分类:单行函数和分组函数(多用于统计)

1、单行函数

  • 1、字符函数
    1.length(str) 判断长度
    2.concat() 多列数据连接成一列
    3.upper and lower 大写和小写
    4.substr and substring 截取(两者无差别,简写而已)
  select substr('abcdef',4)as out_put
  results:      
  out_put
  def
select substr('abcdef',1,3)as out_put
results:
out_put
abc

索引从1开始

5.instr 首次出现的位置
6.trim 去空格或指定重复内容

 select trim ('   abcde    ')   as out_put;
  results:
  out_put
  abcde
  select trim('a' from 'aaaabbbbb') as out_put;
  results:
  out_put
  bbbbb

7.lpad or rpad 用指定字符左填充或者右填充,过短的话会从右截断

select lpad ('ggsimida',2,'*')  as out_put;
results:
out_put
gg

8.replace 替换

select replace ('i am loser', 'loser' ,'winner') as out_put;
results:
out_put
i am winner
  • 2、数学函数

    1. round 四舍五入,有负号的话绝对值取整加负
    2. cell 向上取整
    3. floor 向下取整
    4. truncate 截断,留下小数点后固定位数
    5. mod 取余,有负数出现则结果必为负
      实际计算公式为:mod(a,b)= a-a/b*b (地板除)
  • 3、日期函数
    1.now 返回当前日期和时间
    2.curdate 返回当前日期
    3.curtime 返回当前时间
    4.year 获取年

select year(now())

5.str_to_date 将日期格式的字符转换成指定格式的日期

select str_to_date ('9-13-2011','%m-%d-%Y') as out_put

6.date_format 将日期转换成字符

 select date_format('2018/6/6','%y年%m月%d日') as out_put
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值