mysql 数据库原生语句介绍与示例

数据库

关系性数据库

  • ​ oracle

  • mysql

  • Postgresql (加州伯克利分校的)

  • SQL server

    非关系数据库

    • redis s
  • memcache

mysql 的最大的特点

  • �支持插件式扩展
  • 网易公司的inno sql
  • 结构化查询语句

1 .Mac 下安装mysql

去官网下 Mysql

​ ![](/Users/eternal/Desktop/屏幕快照 2017-06-07 14.40.59.png)

选择5.6 版本

5.7 版本默认开启

only_full_group_by 模块,此模块会导致 sql语句执行严格的group by 的模式,下面的例子会报错

select id ,name from user group by province ;//这样的语句报错;

解决方法是在字段前面加 any_value();
第二种方法是
 用命令行登录mySQL 执行以下命令
select @@sql_mode;
//查到的结果
sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION;
然后找到 my.conf 文件
mysqld 这行要开启
粘贴上去
sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION;
进行重启服务;
  
选择 5.6版本

![](/Users/eternal/Desktop/屏幕快照 2017-06-07 14.41.12.png)

执行安装

点击运行就行

执行更改密码命令

mysqladmin -uroot password  '新密码'

图形化界面去下载phpmyadmin 放到目录下面 就可以使用

2.mysql的sql 语句

Mysql -u 用户名 -p 进入
quit 退出
\g 写完了执行
\h 获得帮助
\c 清除已输入命令
?
Create database 创建数据库
Use database 使用数据库
Show databases 查看所有的库
Drop database 删掉数据库
desc 表名 查看表结构
show create table 表名 查看创建表的语句
alter table user add column sex int(3) after age; 给表增加字段
alter table user drop column sex int(3) after age; 删除表字段
alter table user change column sex int(3) after age;
alter table yinhangka rename bankcard;
  • insert insto 表名(username,字段2 ,字段n)value('值1','值2','值3');
    

  • delete from 表名 where  条件 
    

delete from 表名 where id in(''); //in里面写值

​```
  •       update 表名  set 字段1 =值1,字段2 =值2 ,字段n值n where 
               [限制条件]
             
    

  • select * from table;
    
    where 字段 between  and  区间选择 
    

笛卡尔乘积(对两个表进行 的操作都叫做笛卡尔成绩)

(将表1 的所有字段1 对1 与表2 的所有字段都进行匹配)

select name from shop where price > 600 limit 2;
  • Order by 字段 asc ()

  • desc(能获取最新数据的id)

    Order by id asc 升序 从小到大
    order by id desc,sid asc 降序从大到小
    > < = != >= <= 表达式
    Or and
    Where 字段 in值( select name price from shop where sid in (2,3); in值里面传递什么就去执行什么

置顶的实现本质上是 先按置顶顺序排序,在按时间顺序排列

update tieze set zhidng =1 where

  • Limit ();这个是分页的重点

    一页显示多少条数据

  • distinct

    select distinct price from shopping   // 去掉重复值
    

    �聚合函数

    在MySQL 里面基本不用 concat 与md5 函数

    前面是负载均衡服务器,下面有很多服务器,数据库是瓶颈,每用一次函数

    就会消耗很多资源

    Max 最大值 select * from shop where price = min(price)
    Count 统计
    Avg s平均值
    Min 最小
    Sum 总和 Select sum(price) from shop
    Concat mysql 里面的拼接字符串
    MD5 mysql 里面的函数
  • GROUP 分组

    hvaing 与where 的区别,having 是在结果集中继续取数据

    Group by 字段
    With roll up 会进行统计
    HAVING having 是在已找到的数据里面进行操作
    用法示例子 select count(shengfen) as total ,shengfen from user group by shengfen having total >3;

多表联合查询

内连接 Select 表字段 as 别名 from 表1,表2 where 条件 select user.uid,user.name,shopping.name,shopping.price from user,shopping where shopping.sid= user.sid;
内连接 Select 表.字段as 别from 表inner join 表2 on条件 select u.uid as uid,u.name as uname ,s.name as sname,s.price as price from user as u inner join shopping as s on u.sid =s.sid;
左关联 select 字段 from left join表2 on 条件 select u.uid as uid,u.name as uname ,s.name as sname,s.price as price from user as u inner join shopping as s on u.sid =s.sid; 以左边为主没匹配到的显示为空
右关联 select 字段 from left join表2 on 条件 select * from user right join shopping on user.sid =shopping.sid; 以右边为主,左表没匹配到的显示为空
Union 将结构相同的两次查询数据组合到一起 两个语句用union 连接起来
Union all 不会干掉重复数据

​ 内连接

select user.uid,user.name,shopping.name,shopping.price from user,shopping where shopping.sid= user.sid;
//内连接
select u.uid as uid,u.name as uname ,s.name as sname,s.price as price from user as u inner join shopping as s on u.sid =s.sid;

`

select u.uid as uid ,u.name as uname,s.name sname,s.price from user as u, shopping as s where s.sid =u.uid;

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

| uid | uname | sname | price |

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

| 1 | xiaobao | iphone7 | 1222222 |

| 2 | xiaohua | 汽车 | 131313 |

| 3 | xiaobao | 化妆品 | 31313 |

| 4 | xiaohua | 汽车 | 131313 |

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

4 rows in set (0.00 sec)

了解的命令

命令 作用
FLush tables 刷新表
Grant all on 库.表 Grant . to'root'@ '%' identified by 'liwenkai'; %代表用户可以对任意电脑的ip进行登录,我们不这样写是不安全的
Show variables 查看用户服务器的状态
这些我们都可以通过phpMyAdmin 的创建用户账户界面来查看 只是了解

分库分表分机器

一张表拆成不同的表

User 1 处理效率提高

user 2

User 3

User 4

​ 可以分成不同的机器

​ 北京放到北京服务器

​ 河南放到河南服务器

  • 数据库中间件

    自动化的处理数据库相关的多服务器与单服务器的一种特殊的服务器

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,951评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,606评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,601评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,478评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,565评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,587评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,590评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,337评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,785评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,096评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,273评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,935评论 5 339
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,578评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,199评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,440评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,163评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,133评论 2 352

推荐阅读更多精彩内容