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 需要根据的字段;
网友评论