MySQL

MySQL数据库分为两种:

系统数据库

information_schema:

存储数据库对象信息

如用户表信息,列信息,根除,字符,分区

里面的内容我们不能动

performance_schema:

存储数据库服务器性能参数信息

mysql:

存储数据库用户权限信息

sys:

通过这个库可以快速的了解系统的元数据信息(这个库是通过视图的形式把information_schema、performance_schema结合起来,查询出更加令人容易理解的数据)


用户数据库:

创建数据库:create database 数据库名称;

删除数据库:drop database 数据库名称;

查看数据库:show database;

使用(进入)数据库:use 数据库名称;

查看数据库当中有多少张表:show tables;


sql功能分类:

DDL: 数据定义语言 用来定义数据库对象:创建库、表、列等

DML: 数据操作语言 用来操作数据表中的记录

DQL: 数据查询语言 用来查询数据

DCL: 数据控制语言 用来定义访问权限和安全级别


SQL数据类型:

数值类型

字符串类型

日期和时间类型

常见数据类型:

double:浮点型,例如double(5,2)表示最多5位,其中必须有2位小数,即最大值为999.99;

char:固定长度字符串类型;

varchar:可变长度字符串类型;

text:字符串类型

blob:二进制类型

date:提起类型,格式为:yyyy-MM-dd;

time:时间类型,格式为:hh:mm:ss;

datetime:日期时间类型,格式为:yyyy-MM-dd hh:mm:ss

在MySQL中,字符串类型和日期类型都要用单引号括起来。'Myname' '2018-01-01'


创建数据库:

create database 数据库名 character set utf8;

或:create database 数据库名 char set=utf8;

使用(切换)数据库:

use 数据库名

建表命令:

CREATE TABLE 表名 (列名1列名类型 [约束],列名2列名类型 [约束],.....列名N 类的类型 [约束])

添加一列:

ALTER TABLE 表名 ADD 列名 数据类型;

查看表的字段信息 :

desc 表名

修改一个表的字段类型:

ALTER TABLE 表名 MODIFY 字段名 数据类型;

删除一列:

alter table 表名 add 列名 varchar();

添加一列:

alter table 表名 drop 列名;

修改表名:

rename table 原始表名 to 要求改的表名;

查看表的创建细节:

show create table 表名;

修改表的字符集gbk:

alter table 表名 character set gbk;

修改表的列名:

alter table 表名 change name newname varchar(20);

删除表:

drop table 表名;

插入操作:

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

批量插入:

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

更新数据:

update表名 set 列名1=列值1,列名2=列值2....where 列名=值;

修改数据库密码:

mysqladmin -u root -p password 密码;

删除操作:

delete from 表名 where 列名=值;
如果不加过滤条件就是删除所有数据

删除表内所有数据:

truncate table 表名;

去除重复记录:

select distinct 要去重信息的列名 from 表名;

把查询字段的结果进行运算,必须都要是数值型:

As select *,字段1+字段2 新列名from 表名;

排序:

select * from 表名 order by 列名 desc,id desc(降序);

select * from 表名 order by 列名 asc,id asc(升序);

Count()(统计指定列不为null的记录行数):

Select count(*) from 表名(where后跟筛选条件);

Sum()计算关键字:

Select sum(要计算的列名1),sum(要计算的列名2) from 表名;

Avg()平均值关键字:

Select avg(要求平均值的列名)from 表名;

Max()最大值关键字:

select max(要求最大值的列名)from 表名;

Min()最小值关键字:

Select min(要求最小值的列名)from 表名 ;

按照某个字段进行分组查询:

Select 需要根据的字段 from 表名 group by 需要根据的字段;


MySQL_第1张图片

你可能感兴趣的:(MySQL)