MYSQL学习笔记

创建

  1. 数据库

    create database databaseName;
    
  2.  create table adminInfo(
       # 类型 关键字 唯一值 不允许为空 自增
        ID int  primary key unique not null  auto_increment,
       # varchar 不固定长度 
       UserName varchar(150) unique ,
        Password varchar(150),
       # 默认值为 0
        Sex tinyint default 0,
       # 固定长度为11位
        Mobile char(11) unique ,
       # 调用内置函数 当前时间 now()
        CreTime datetime default now(),
        LastLogin datetime,
        IsDelete tinyint default 0,
       # 添加索引
        index (ID,UserName,Mobile)
    );
    

插入

  1. insert into
        adminInfo(username, password, sex, mobile)
    VALUES('test','test',null,'13699996666');
    

##查询

分页

显示10条记录

SELECT * FROM tablename LIMIT  0,10

第n页显示10条记录

SELECT * FROM tablename LIMIT  (n-1)*10, 10

更新

  1. UPDATE adminInfo SET Password='1', file2='new_value2' WHERE ID=1;
    

常用

  1. 获取记录总数
SELECT COUNT(*) FROM tablename
  1. 区间查询
SELECT * FROM tablename WHERE tablename.cloumns BETWEEN 1 and 3 

删除

高级操作

explain

type

常见的6种情况:all, index, range, ref ,eq_ref, const。从左到右,效率依次增强。

all

全盘扫描

index

通过索引来查找

range

有范围的索引扫描

ref

使用索引,但索引值不唯一,有重复。找到第一条数据,仍然不停止继续在目标附近的小范围内扫描。好处是并不会全盘扫描。

ref_eq

使用索引加主键(或唯一性)

const

主键在放置到where后面作为前提条件,另外性能还取决于mysql的优化器。