sudo /etc/init.d/mysql start(开机) | restart(重启) |stop(关机) |status(状态)
mysql -hlocalhost -uroot -p123456() 连接服务器(-h主机地址 -u用户名 -p密码(可直接跟后面))

查看已有库:show databases; 
创建库:create database 库名;
创建库的同时指定字符集:create database 库名 character set utf8; 
查看创建库的字符集:show create databases 库名;  
查看当前所在库:select database();  
切换库:use 库名; 
查看当前库中所有的表:show tables;  
删除库:drop database 库名;

创建表:create table 表名(字段名 数据类型,字段2 数据类型...);
创建表指明字符集:create table表明(字段1 数据类型,
                字段2 数据类型,....)character set utf8;
查看已有表的字符集:show crate table 表名 ; 
查看表结构:desc 表名;
删除表:drop table 表名; 
表插入:
    1.insert into 表名 values(值1),(值2),.....;
        例:insert into stuinfo values(1,‘张三丰’,300),(值2),....;
    2.insert into 表名(字段1,字段2,....)values(值1),(值2),...;
        例:insert into stuinfo(name,age)values(‘小昭’,20),(‘敏敏’,20);
表查询:(select)
    1.select*from 表名;查询表中的所有数据
    2.2.select *from 表名 where 条件;按条件查找
    3.select 字段1,字段2 from 表名 where 条件;
表字段(添加):
    alter table 表名 执行动作
    1.alter table 表名 add 字段名 数据类型;在末尾添加
    2.alter table 表名 add 字段名数据类型 first;在第一列添加
    3.alter table 表名 add 字段名 数据类型 after 已有字段名;指定位置后面添加
表字段(删除):
    alter table 表名 drop 字段名;
表字段(修改):

  alter table 表名 change 旧字段名 新字段名 类型(宽度);
表 数据类型修改:
    alter table 表名 modify 字段名 新的数据类型
表 重命名:
    alter table 表名 rename 新表名;
表记录(删除):
    delete from 表名 where 条件;
        where 条件省略表示清空表记录
表更新(update):
    1.update 表名 set 字段 1=值,字段2=值,....where 条件;
    2.update 必须写where 条件

数据类型

**整型:**
    1.int大整型(4个字节)取值范围:0-2(32)-1
    2.tinyint微小整型(1个字节)
        1.有符号整型(默认),取值范围-128~127
            id tinyint signed
        2.无符号整型(unsigned),取值范围0~255 
            age tinyint unsigned   
        3.smallint 小整型(2字节)
        4.bigint 极大整型(8字节)
**浮点型:**
    1.float(4个字节,最多显示7个有效位)
        字段名 float(m,n);m表示总位数,n表示小数位的位数
    2.double(8个字节)
    3.decimal(最多可显示28个有效位)
        decimal(m,n);m表示总位数,n表示小数位的位数
**字符类型:**
    1.char(m);取值范围1~255
        char(10)
    2.varchar(m);取值范围:1~65535
        varchar(10)
    3.text /longtext(4G)/blob/longblob(4G)
**枚举:**
    enum 最多可以列举65535个值
        例:create table userinfo(id int,name char(10),sex enum(‘男’,‘女’,‘保密’));
            select * from userinfo where sex=1;
        特点:
            枚举中的数据,从左到右会自动分配索引,从1开始,查询数据时,可以根据字符串值进行查询也可以根据索引值查询
**集合:**
    set
    create table cousetab(sportcourse set(‘篮球’,‘足球’,‘球球’,...));
    insert into cousetab values('篮球','足球','去球');
**日期时间:**
    1.date:“YYY-MM-DD”
    2.time:“hh:mm:ss”
    3.datetime:“YYYY-MM-DD hh:mm:ss”;不给值,默认返回null
    4.timestamp:“YYYY-MM-DD hh:mm:ss”;timestamp:不给值,默认返回当前  	时间
 	日期时间函数
    1.now()返回当前系统时间
    2.curdate()返回当前日期(年月日)
    3.Curtime()返回当前时间(时分秒)
    4.year(date)返回指定日起的年份
    5.date(‘20111212121212’)返回指定日期的年月日
    6.time(date)返回指定日期的时分秒
        例:select id,name,cztime from info2 where date(cztime)='20180830';
 	日期运算格式
    select *from 表名 where 字段名 运算符(时间-interval 时间单位)
        时间单位:1day |2 hour| 1 minute| 1 year |1 month 正值表示一天前
        cztime>(now()-interval 1 day);

运算符

1.数值比较/字符比较
    1.数值比较:=  !=  >  >= < <=
    2.字符比较: =  !=
2.逻辑运算符
    1.条件1 and 条件2 and 条件3 and....;(查询同时满足多个条件的数据)
    2.条件1 or 条件2 ;查询满足条件1或者满足条件2的数据  
3.范围内比较  
    1.between..值,...and....值
        设置范围在 值1 和值2 之间
    2.where 字段名  in(值1,值2,值3,...)
        匹配字段在in给出的范围内的数据
        et:
            where age in(22,23,24,25);
    3.where 字段名not in(值1,值2,...);
        匹配字段值不在指定范围内的数据

匹配空,非空

1.匹配空: where 字段 is null;
2.匹配非空:where 字段 is not null;

模糊查询

1.格式:where 字段名 like 表达式
2.表达式
        1._:表示匹配1个字符
        2.%:表示匹配0到多个字符
            (2个字符及以上)mysql> select *from sanguo where name like '_%_';
            (0个字符及以上)mysql> select*from sanguo where name like '%';
            注意:
                null不会被匹配出来
                空字符串表示0个字符,会被正常匹配
        3.匹配姓名为3个字符串的数据
            where name like '___';
        4.匹配姓赵的数据
            where name like '赵%_';

排序(order by)

order by:对查询结果进行排序
    1.格式:..order by 字段名 asc(升序)/desc(降序)
        sql> select * from sanguo order by fangyu desc

分页查询(limit)

永远放在sql语句的最后书写
分页用来控制显示多条结果中的数据
1.语法:
    1.limit n;表示显示n条数据
    2.limit m,n;
      表示从第m+1条记录开始显示,显示n条
      select * from sanguo where country='蜀国' and name is not null order by gongji desc limit 0,3;

聚合函数—查询

select *
select 字段
select 聚合函数 where....
  1.聚合函数
    最大值           最小值         求和            平均值            计数
    max()       min()      sum()       avg()       count()