MySql概述及入门(一)


什么是MySQL?

    MySQL是当今主流的关系型数据库管理系统(记录是有行有列的数据库) , 可以与Oracle 和SQL Server 竞争 , 是最好RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一 ,主要使用5.5左右版本, MySQL、Oracle 等并不是数据库,只是管理数据库系统的软件(数据库就是存储数据的仓库,本质是一个文件系统,用户通过SQL进行增删查改) 。

为什么使用MySQL?

  因其体积小、支持多处理器、支持多种操作系统、提供多种API接口、支持多种开发语言、安装及维护成本低、开源并免费的特性使其在 Internet 中小型网站中的使用率尤其高。

数据库和表的关系

数据库是一组数据的集合,可以包括很多张表,相当于家和家人的关系

用户通过数据库管理系统访问数据库中表内的数据。(记录)

MySQL安装

使用linux安装MySQL

rpm命令使用 : rpm -ivh   gcc-c++-4.4.7-3.el6.x86_64.rpm

常用参数:

i:安装应用程序    :(install)

e:卸载应用程序   :(erase)

vh:显示安装进度 :(verbose hash)

U:升级软件包      :(update)

qa: 显示所有已安装软件包(query all),结合grep命令使用    

示例: # rpm -qa|grep mysql  

查看是否已有MySQL软件 :  rpm -qa|grep mysql 

卸载My SQL :      yum remove mysql mysql-server mysql-libs mysql-common

rm -rf /var/lib/mysql

  rm /etc/my.cnf

删除mysql的数据库:    /var/lib/mysql

使用yum 安装mysql,要使用mysql的yum仓库,从官网下载适合自己系统的仓库  http://dev.mysql.com/downloads/repo/yum/

5.6版本 : mysql-community-release-el6-5.noarch.rpm   

   

使用命令  yum localinstall mysql-community-release-el6-5.noarch.rpm  将  mysql-community-release-el6-5.noarch.rpm 上传到linux系统。

安装 : yum install mysql-community-server

启动MySQL :  service mysqld start    

为root用户设置密码 : /usr/bin/mysqladmin -u root password 'new-password'

远程连接授权 : mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;    //'myuser'、'mypassword' 需要替换成实际的用户名和密码。

设置表名大小写不敏感 : 在/etc/my.cnf 中的[mysqld]  后添加   lower_case_table_names=1  然后重启MySQL服务 ,  默认0区分大小写,1不区分

重启MySQL :  service mysqld restart

    

cmd中文乱码

修改my.ini文件,然后重启mysql服务器

SQL语句

    SQL语句全称Structured Query Language , 简称SQL,是结构化查询语言 ,SQL用于创建,插入,更新和修改数据,分为DDL(定义),DML(操作),DCL(控制),DQL(查询)。

      DDL(定义): 创建数据库 CREATE DATABASE database-name , 删除数据库 drop database dbname ……

      DML(操作):   insert into table(name,age) values(value1,value2)...  delete、update

      DCL(控制):grant 权限 on 数据库.表 to 用户名@'主机名'
identified by '密码';

      DQL(查询): select *
from table1……

    

排序语法关键字:  ORDER BY ,  ASC(升序) DESC(降序)  示例: select * from student where sname like '%陈%'
order by sid desc;(按学生ID降序排序)

聚合函数(只对单列进行操作) :                                

sum():求某一列的和                             

avg():求某一列的平均值                             

max():求某一列的最大值

min():求某一列的最小值

count():求某一列的元素个数

示例: 

select sum(price) from product(求总和)

select count(*)from product (求总次数) 

分组:  GROUP BY   HAVING   

示例:select cid,avg(price) from product group by
cid  having avg(price)>60;
      //分组统计每组商品的平均价格,并且平均价格> 60

 

UNION 和 UNIONALL操作符

WHERE条件执行顺序(影响性能)

MYSQL:从左往右去执行WHERE条件的。

Oracle:从右往左去执行WHERE条件的。

结论 :  写WHERE条件的时候,优先级高的部分要去编写过滤力度最大的条件语句

表与表之间的关系

  一对一(一夫一妻制度)、一对多(一个班级和多个学生)、多对多(多个学生和多个老师)、多对一(多个员工和一个部门)

  示例:

多表联查

关键词

    CROSS JOIN(交叉连接)    显示交叉连接 :SELECT  *  FROM  A  CROSS  JOIN 
B    隐式交叉连接:  SELECT      
*   FROM   A, B

    INNER JOIN(内连接或等值连接) 显式内连接:  SELECT  *  FROM  A  INNER JOIN 
B ON A.id = B.id     隐式内连接
: SELECT       *  FROM  A,B 
WHERE    A.id = B.id

    OUTER JOIN(外连接)       左外连接:  SELECT  *  FROM  A  LEFT 
JOIN
  B ON A.id = B.id

                    右外连接: SELECT  *  FROM  A  RIGHT  JOIN 
B ON A.id = B.id    左查询以左表为主表,右查询则右表为主表

                    外连接需要有主表或保留表的概念   

分页

关键词 : LIMIT (MySQL独有的语法) ,通过Limit关键字,MySQL实现了物理分页。

示例 :  SELECT * FROM table LIMIT  (PageIndex-1)*PageSize,PageSize;    (PageIndex:当前页数,PageSize:显示总数量)

物理分页: 通过LIMIT关键字,直接在数据库中进行分页,最终返回的数据,只是分页后的数据

逻辑分页: 将数据库中的数据查询到内存之后再进行分页

子查询

    子查询允许把一个查询嵌套在另一个查询当中

    在select子查询中可以包括的任何子句,比如:distinct、 group by、order by、limit、joinunion

    外部查询必须是以下语句之一:select、insert、update、delete

    示例:

    SELECT id, (select name from test t1 where t.id = t1.id ) from test t;    (这种子查询在列中只能返回一个结果)

    SELECT t.* from (select * trom test) t ;

    SELECT * from test where id IN (select id from test) ;

MySQL概述及入门(一)的更多相关文章

  1. MySql概述及入门(五)

    MySql概述及入门(五) MySQL集群搭建之读写分离 读写分离的理解 为解决单数据库节点在高并发.高压力情况下出现的性能瓶颈问题,读写分离的特性包括会话不开启事务,读语句直接发送到 salve 执 ...

  2. MySQL概述及入门(四)

    MySql概述及入门(四) 什么是MySQL的锁? 数据库锁定机制,就是数据库为了保证数据的一致性,而使各种共享资源在被并发访问变得有序所设计的一种规则,简单说,就是不让别人动 总的来说,MySQL各 ...

  3. MySQL概述及入门(三)

    MySql概述及入门(三) MySQL性能优化 主要优化安全和性能方面 安全方面 : 数据可持续性 性能方面 : 数据的高性能访问 性能优化——慢查询 在MySQL数据库中有一个慢查询日志功能,去获取 ...

  4. MySQL概述及入门(二)

    MySql概述及入门(二) MySQL架构 逻辑架构图: 执行流程图: MySQL的存储引擎 查询数据库支持的存储引擎 执行: show engines: 多存储引擎是mysql有别于其他数据库的一大 ...

  5. MySQL数据库快速入门与应用实战(阶段一)

    MySQL数据库快速入门与应用实战(阶段一) 作者 刘畅 时间 2020-09-02 实验环境说明: 系统:centos7.5 主机名 ip 配置 slavenode3 172.16.1.123 4核 ...

  6. MySQL数据库从入门到放弃(目录)

    目录 MySQL数据库从入门到放弃 推荐阅读 MySQL数据库从入门到放弃 193 数据库基础 194 初识MySQL 195 Windows安装MySQL 196 Linux安装MySQL 197 ...

  7. 2. Mysql数据库的入门知识

    2. Mysql数据库的入门知识 (1)打开Windows系统提供的服务查看相应的服务. (2)在Windows任务管理器的进程中查看 (3)使用命令行管理windows的Mysql数据库服务. Ne ...

  8. mysql之SQL入门与提升(二)

    在mysql之SQL入门与提升(一)我们已经有了些许基础,今天继续深化 先造表 SET NAMES utf8;SET FOREIGN_KEY_CHECKS = 0; -- -------------- ...

  9. MySQL 概述和基础

    # MySQL 概述 什么是数据库 存储数据的仓库 都有哪些公司在用数据库 金融机构.游戏网站.购物网站.论坛网站-- 提供数据库服务的软件 MySQL.Oracle.SQL Server.DB2.M ...

随机推荐

  1. IIS 无法访问请求的页面,因为该页的相关配置数据无效。

    解决方法:控制面板-->程序和功能-->打开或关闭windows功能-->角色的这里,如果还未安装“web服务器(IIS)”,则选择“添加”.如果已经安装了,则选择“web服务器(I ...

  2. 1755: N相关孪生素数

    #include<stdio.h>int f(int n,int L,int R){ int ch[10000],i,j,count=0; j=1; for(i=L;i<=R;i++ ...

  3. Arduino系列之中断函数

    今天我将简单记录中断函数 函数分为外部中断和定时中断 外部中断的定义:一般由外设发出中断请求,如:键盘中断.打印机中断.外部中断需外部中断源发出中断请求才能发中断. 定时中断的定义:是指主程序在运行一 ...

  4. windows下编译LUA-cjson

    下载地址:http://www.kyne.com.au/~mark/software/lua-cjson.php 编译环境:win7 + MINGW 修改下载得到的lua-cjson-2.1.0.zi ...

  5. C/C++中指针和引用之相关问题研究

    一.基本知识 指针和引用的声明方式: 声明指针: char* pc; 声明引用: char c = 'A'                   char& rc = c; 它们的区别: ①从现 ...

  6. HDU_5057_分块

    http://acm.hdu.edu.cn/showproblem.php?pid=5057 分块,保存每个块中每位对应数字的和,复杂的是getmum,左右下标所在的块不能直接读取block数组,要重 ...

  7. LeetCode22 生成所有括号对

    本文始发于个人公众号:TechFlow,原创不易,求个关注 链接 Generate Parentheses 难度 Medium 描述 Given n pairs of parentheses, wri ...

  8. 2018icpc南京网络赛-L Magical Girl Haze (分层图最短路)

    题意: 有向图,可以把k条路的长度变为0,求1到n的最短路 思路: 将图复制k份,一共k+1层图,对于每一条i→j,都连一条低层的i→高层的j,并且权值为0 即对每一对<i,j,w>,都加 ...

  9. Dubbo 服务 IP 注册错误踩坑经历

    个人博客地址 studyidea.cn,点击查看更多原创文章 踩坑 公司最近新建一个机房,需要将现有系统同步部署到新机房,部署完成之后,两地机房同时对提供服务.系统架构如下图: 这个系统当前对外采用 ...

  10. 检测并移除WMI持久化后门

      WMI型后门只能由具有管理员权限的用户运行.WMI后门通常使用powershell编写的,可以直接从新的WMI属性中读取和执行后门代码,给代码加密.通过这种方式攻击者会在系统中安装一个持久性的后门 ...