31-MySQL-1

说明:

本来是已经在看Mybatis了,但是...考虑到要手写sql语句,并且hibernate里面非全映射的时候,也要自己写hql语句,并且以后真正上项目以后,还要搞sql优化,所以全面深入学习mysql成为五月底的目标.

1.配置

打开my.ini文件,里面有一些配置,其中[mysql]是客户端配置,[mysqld]是服务端配置

这里可以看到之前设置的port,也可以在这里修改port

这里还可以详细查看安装目录:basedir

数据库的数据最终存储的目录:datadir

修改字符集character-set-server

等等很多配置都写在了这个my.ini文件

如何启动和停止MySQL的服务

2种,一个是cmd,一个是任务管理器的服务

informa_schema

mysql

performation_schema

test(空)

默认的就有4个库

...之前居然随意操作这些库...

2.一些指令

指令:

    打开指定库-->use + 库名

    查看有哪些表-->show tables

    合成-->show tables from 库名

    他这里的demo居然表示的,还是其在test库,没有去mysql库

    查看在哪个库-->selest database();

    查看表的内容-->desc + 表明

    插入-->insert into 表名(id,name) values(2,"rose")

    修改-->update 表名 set + 属性名=""

上面这些都是基础中的基础

3.常见的命令

常见命令总结

    1.查看所有数据库

    show databases;

    2.打开指定库

    use 库名;

    3.查看当前库的所有表

    show tables;

    4.查看其它库的所有表

    show tables from 库名;

    5.创建表

    create table 表名(

    列名 列类型,(注意这里是逗号)

    列名 列类型,

    列名 列类型

)

    6.查看表结构

    desc 表名;

4.Mysql语法规范

mysql语法规范

    1.不区分大小写,建议关键字大小,表名,列名小写

    2.每条命令用分号结尾

    3.每条命令,可以根据需要进行换行,缩进

    4.注释

            单行注释:

                1.#注释文字

                2.-- 注释文字(注意这里有空格)

             多行注释:/*注释文字*/

sqlyog...感觉没Navicat给力

之前看到的.sql文件其实就是装的sql语句的文本文件....

5.基础的东西...

1.基础查询

            SELECT 查询列表  FROM 表名;(从一个表中查询一个列里面的东西)

                查询列表可以是:1.表中的字段,常量,表达式,函数,这里查询的结果是一个虚拟的表格

                同时查多个字段的话,用逗号隔开,这里没有顺序要求

                查询所有,用*代替要查询的字段名

    2.细节补充,在查表的时候,肯定是要先打开库名的,这里tool上面其实已经显示打开了

    当需要查询的字段跟关键字一样的时候,这时候用着重号`来表示,这是一个字段名,而不是关键字

    执行sql,就是选中,然后点击运行...

6.别名

起别名

提高可读性,如果字段有重复的情况,那么别名可以区分开来

AS 或者 直接空格+别名,如果别名带特殊符号,那么此时,最好给别名带上双引号或者单引号,这里应该还是经常会用到的

7.去重

加上DISTINCT关键字

8.Mysql +作用

mysql里面的+作用,只能当做运算符(两个操作数都为数值型)

这里还可以 'string' + 数值型,这里可以进行转换,如果可以转换成功就做加法运算,否则将字符型转换成0,还有,只要操作数一方为null,那么结果直接就是null

9.CONCAT

拼接string,如果一个操作数为null,那么结果就是null

10.IFNULL

一个函数,有点类似java里面的defaultValue,就是判断要一个string是否为null,如果为null的话,那么后面会设置一个默认值

11.条件查询

其实就是SELECT FROM WHERE,where后面对这个sql语句的查询写一个条件而已

sql里面的运算符,不等的写法是<>

12.模糊查询

LIKE-->WHERE + 搜索的字段 +LIKE + '%a%',LIKE需要经常配合通配符来使用

         通配符这里有:

                               1.%任意数量的字符,包括没有字符

                               2._占位符

                               3.\转义

这里顺带说一下ESCAPE

如果不使用转义的话,在LIKE里面随便定义一个占位符,然后在后面加一个关键字ESCAPE,关键字后面注明这个自定义的占位符即可

BETWEEN AND-->WHERE后面写一个条件,注意不能颠倒顺序,包含临界值

IN-->in ('a','b','c' ),判断某字段的值是否属于列表中的某一项,in列表的值要统一或者兼容这里是不支持通配符,因为这里in其实就是判断是否等于,而不是之前LIKE里面用通配符!

IS NULL-->

    字段 = NULL,是无法判断的,这个时候应该用:

    字段 IS NULL

还有就是IS NOT NULL

这里只有NULL是用于IS的,其他的判断条件都是用=

13.安全等于

<=>,这里的安全等于也可以判断null值,所以安全等于既可以判断普通值,也可以用于判断null值,明显IS比<=>的可读性要强

14.ORDER BY 排序查询

格式:

        ORDER BY 字段名 ASC|DESC(升序或降序)如果不写,默认的是升序

特别注意,这里的ORDER BY 顺序,是可以写2个的,当第一个排序条件好了以后,如果有相同的几个record,那么再按照后面的顺序进行排序

等于说,搞了一个主顺序排列,和次顺序排列

子句,支持单个字段,多个字段,表达式,函数,别名

只有limit放在ORDER BY 后面,除此之外,剩下的都是放在其前面

15.函数

这里讲到是否加FROM表名,是看你SELECT后面的参数是否用到了表里的参数

单行函数:CONCAT,LENGTG,IFNULL等返回一个返回值

分组函数:主要功能是做统计使用,传一组参数,返回一个值,分组函数又称为聚合函数,统计函数

16.字符函数

UTF8下,一个汉字3个字节,GBK的话是2个

UPER LOWER

SUBSTR,这里的用法,与java类似.

特比注意,sql里面的索引是从1开始的

LENGTH()是字符长度,LENGTHB()是该字段的字节长度

INSTR-->返回一个子string在其string里面的起始索引,如果找不到返回0

TRIM-->去空格,或者去除指定的字符:     指定字符 FROM 目标字符串,这里只能去除前后的,中间的无法去除

LPAD-->在目标string左边进行填充,然后会设置一个填充完以后的总字符长度,这里注意,是字符长度,不是string的字节长度,如果设置的总长,比初始string的还小,那么就会从右边开始截断

RPAD-->类似LPAD

REPLACE-->同java

17.数学函数

ROUND-->四舍五入,这里不具体讲

CELL-->向上取整

FLOOR-->向下取整

TRUNCATE(截断)-->一个小数,取几位,这里不进行四舍五入

MOD-->取余,这里看被除数...取余的数的正负只跟被除数有关.......

18.日期函数

NOW 

CURDATE

CURTIME

还可以指定具体的YEAR,MONTH,DAY,HOUR,MIN,SEC

STR_TO_DATE

DATE_FORMAT这里有点类似java里面的format,用%之类的符号,替换

这里不一一细讲,到时候直接查资料

19.其他函数

VERSION()

DATABASE()

USER()

这里也不一一细讲,这两天直接把Mysql全部搞定哦

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值