码迷,mamicode.com
首页 > 数据库 > 详细

MySql入门

时间:2017-12-09 12:58:41      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:rdbms   and   更新   lan   tps   rdb   开发   更新记录   expand   

一.定义

  MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。属于小型数据库

二.基本操作

  2.1  库级操作

  创建数据库  create database 数据库名 [character set 字符集][collate  校对规则

    字符集(charset):是一套符号和编码。

    校对规则(collation):是在字符集内用于比较字符的一套规则

  查看所有数据库  show databases

  查看字符集(查看数据库定义)  show create database 数据库名 

  删除数据库  create database 数据库名

  修改数据库字符集  alter database 数据库名 character set 字符集

  切换数据库  use 数据库名

  查看正在使用的数据库  select database();

  2.2  表级操作

  •   创建表  
create table 表名(
        列名 类型 约束,
        列名 类型 约束,
        列名 类型 约束
    );
  •   查看表

  查看所有的表  show tables;

  查看表的定义结构(查看表的字段) desc 表名;

  查看建表语句(不重要)  show create table 表名 

  •   修改表

 

增加一列;alter table 表名 add 字段名 类型 约束;

 

 

修改列的类型约束; alter table 表名 modify 字段 类型 约束 ;

 

 

修改列的名称,类型,约束;alter table 表名 change 旧列 新列 类型 约束; 新列明必须指定类型

 

 

删除一列; alter table 表名 drop 列名;

 

修改表名 ; rename table 旧表名 to 新表名;

  •   删除表

  drop table 表名;

  2.3  数据级操作

  

  插入数据

insert into 表名(列,列..) values(值,值..);
insert into 表名 values(值,值....)有多少列values后面就要写多少个值,哪怕你要为空你也得写null。

  

更新记录(如果不加条件,就更新所有行的数据)

    update 表名 set 字段 = 值 ,字段 = 值 [where 条件]

删除记录(表还在)

delete from 表名 [where条件];如果没加条件相当于将表中的数据全部删除。
truncate table 表名;将表中的所有数据都删除

查询记录(重点中的重点,难点)

select [列名,列名] [*] [聚合函数][distinct 字段] from 表名 [WHERE --> group by -->having--> order by]

*聚合函数不能用在where条件中

? count(*|字段);统计指定列不为NULL的记录行数,一般用于统计表中的总数据条数。为了统计数据的准确性,括号中传入不能为空的列的列名或者 *

? 如果要统计表中的总数据条数,那么count( *|不能为空的字段名)

? sum();计算指定列的数值和,如果指定列类型不是数值类型,那么计算结果为0

? max();计算指定列的最大值,如果指定列是字符串类型,那么使用字符串排序运算

? min();计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算

? avg();计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为0

*where和having的区别

  • 1.having是在分组后对数据进行过滤.where是在分组前对数据进行过滤

  • 2.having后面可以使用聚合函数,where后面不可以使用聚合函数

  • 3.having后面的条件中只能出现分组的字段名或者是你用到的聚合函数

  • 4.WHERE是分组前记录的条件,如果某行记录没有满足WHERE子句的条件,那么这行记录不会参加分组;而HAVING是对分组后数据的约束。

顺序: select...from...where...group by...having...order by...limit a,b(解释:limit a,b是分页查询);

MySql入门

标签:rdbms   and   更新   lan   tps   rdb   开发   更新记录   expand   

原文地址:http://www.cnblogs.com/sanmaotage/p/8010994.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!