mysql common是什么_MySQL概述及入门(一)

MySql概述及入门(一)

什么是MySQL?

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

为什么使用MySQL?

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

数据库和表的关系

a1f63cec59198953c0e199cec031e66e.png

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

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

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服务器

7d658a9040f8ccfcdfd7c913b254ccf5.png

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操作符

f4d7215f81385e70297a6453b688432e.png

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

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

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

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

表与表之间的关系

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

示例:

31843f5b5b834fcd7473a1c779c75469.png

多表联查

关键词

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    左查询以左表为主表,右查询则右表为主表

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

9d2ae4cbff6eb8221bcca1ceb78807da.png

分页

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

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

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

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

子查询

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

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

外部查询必须是以下语句之一: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) ;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值