MySQL简介

MySQL简介

基本概念

关系数据库

  • "关系型"可以理解为"表格"的概念

  • 一个关系型数据库由一个或数个表格组成

  • SQL:Structured Query Language,结构化查询语言

  • 是关系型数据库中最重要的操作语言,可执行查增改删等功能

  • 常用的关系型数据库:MySQL、Oracle、DB2、SQL Server、Access、MariaDB、PostgreSQL、SQLite

非关系型数据库

  • NoSQL -- Not Only SQL

  • 目的:处理大数据

今天我们可以通过第三方平台(如:Google,Facebook等)可以很容易的访问和抓取数据。用户的个人信息,社交网络,地理位置,用户生成的数据和用户操作日志已经成倍的增加。我们如果要对这些用户数据进行挖掘,那SQL数据库已经不适合这些应用了, NoSQL数据库的发展也却能很好的处理这些大的数据。

  • 常用的NoSQL数据库:mongoDB、Redis


认识MySQL

MySQL优点

  • 体积小、速度快、开放源码、免费

  • 一般中小型网站的开发都选择 MySQL ,最流行的关系型数据库

  • LAMP / LNMP

  • Linux作为操作系统

  • ApacheNginx作为 Web 服务器

  • MySQL作为数据库

  • PHP作为服务器端脚本

  • 都是免费或开放源码软件,不用花一分钱就可以建立起一个稳定、免费的网站系统

安装MySQL

  • Linux

  • 本文都以Ubuntu 16.04为例

  • sudo apt-get install mysql-server mysql-client

  • Windows

  • 官网下载安装包

  • 配置环境变量

MySQL服务

  • Linux

  • service mysql status/start/stop/restart

  • /etc/init.d/mysql status/start/stop/restart

  • Window

  • MySQL Notifier

  • MySQL默认端口号:3306

登陆MySQL

  • 登陆:mysql –h 主机名 -u 用户名 –p

  • 注销:quit;

  • 修改密码:mysqladmin –uroot –p旧密码 password 新密码

可视化工具

phpMyAdmin、MySQL-Front、MySQL Workbench、Navicat等

SQL语句

  • 不区分大小写

  • 以分号结尾

  • 注释:

  • #注释内容直到行尾

  • --注释内容直到行尾

  • /*注释内容*/

  • 执行环境

  • Linux:mysql shell

  • Windows:Command Line Client

  • 可视化工具的SQL 编辑器


操作数据库

create database 数据库名;

drop database 数据库名;

show databases;


操作表

语法

操作表时,必须先指明所使用的数据库:use 数据库名;

create table 表名称(
    列名 数据类型 约束条件,
    列名 数据类型 约束条件,
    ...
    列名 数据类型 约束条件);

数据类型

  • 数字型

  • 整型:int,(tinyint, smallint, mediumint, bigint)

  • 浮点型:float,double

  • 字符串

  • 定长字符串:char(n)

  • 变长字符串:varchar(n)

  • 文本:text,(tinytext, mediumtext, longtext)

  • 日期与时间

  • date, time, datatime

约束条件

  • null

  • not null

  • default

  • primary key

  • auto_increment

  • unsigned

drop table 表名;

alter table 表名 rename 新表名;

show tables;


操作列

alter table 表名 add 列名 数据类型 约束条件;

alter table 表名 drop 列名;

alter table 表名 change 列名称 新名称 新数据类型 新约束条件;

  • show columns from 表名;

  • desc 表名;

  • describe 表名;


操作数据

  • insert into 表名 values (值1, 值2, ...);

  • insert into 表名 (列名1, 列名2, ... ) values (值1, 值2, ...);

  • 删除所有数据:delete from 表名;

  • 删除指定数据:delete from 表名 where 条件;

  • 更新所有数据:update 表名 set 列名=新值;

  • 更新指定数据:update 表名 set 列名=新值 where 条件;

  • 更新多列:update 表名 set 列名1=值1, 列名2=值2 [where 条件];

  • 更新为默认值:update 表名 set 列名=default [where 条件];

  • 查询所有数据:select 列名 from 表名;

  • 查询指定数据:select 列名 from 表名 [where 条件];

  • 查询多个列:select 列名1, 列名2 from 表名 [where 条件];

  • 查询所有列:select * from 表名 [where 条件];

  • 指定别名:select 列名 as 别名 from 表明 [where 条件];

  • 查询唯一值:select distinct 列名 from 表名;

where 条件

  • 比较运算符:=、 >、 <、 >=、 <=、 !=、 <>

  • 扩展运算符:is null、 is not null、 like、 in、 between

  • 逻辑运算符:and、 or

  • 函数:count、sum、avg、max、min

  • 排序:order by

  • 分组:group by

posted @ 2016-11-14 20:18  高-岩  阅读(9600)  评论(0编辑  收藏  举报