一、基本操作
(紫色标记为自定义)
(温馨提示mysql指令不区分大小写)
(mysql中的命令不比java或者c,如果缺少或者多空格的话 会报错)
1.库的操作
创建数据库 create database 数据库名;
显示数据库 show databases;
选中数据库 use 数据库名;
删除数据库 drop database 数据库名;
2.表的操作
创建表(创建时不能和关键字冲突如果一定要用这个名字就用反引号``)
先选中数据库
(因为刚才删了嘛)
create table 表名(列名 类型(comment 注释),列名 类型…);
(每有一列数据 就有一组列名和类型如不需注释则不用加comment)
下面是各种数据类型的整理
数字类:
M和D描述了小数的精度
M表示整个数字的有效数字位数不超过M
D表示整个数字小数点后的位数 不超过d
DECIMAL相比于FLOAT和DOUBLE 可以更精确的表示小数
文本类:
一般都用varchar
查看表
show tables;
;
desc 表名(查看这个表里面的列和类型);
删除表
drop table 表名;
3.元素的操作
insert into 表名 value(元素值,元素值,元素值…);
(注意和value连接的两个括号之间都没有空格)
多组插入 insert into 表名 value(元素值,元素值,元素值…),(元素值,元素值,元素值…),(元素值,元素值,元素值…);
有几列 一个括号就有几个元素
二、查询操作
全列查询
select * from 表名; *是通配符 表示匹配任意的列
指定列查询 select 列名,列名,列名……from 表名;
as 别名 as作为…输出
去重查询
Select distinct 列名 from 表名;
可以指定多个列 列与列之间完全相同会去重
按顺序查找
Select 列名 from 表名 order by 列名;
Select 列名 from 表名 order by 列名 acs; 查询结果升序(其实升序的话可以直接省略acs)
Select 列名 from 表名 order by 列名 desc; 查询结果升序
也可以进行多列排序
Select 列名 from 表名 order by 列名 desc/acs,列名 desc/acs;
排列规则为先按第一列排 如果第一列不分胜负再按第二类的指定顺序排(值得一提的是 只排第一个指定的列就是select后面那个 后面全是排序标准)
where的相关用法
where就是条件查询 条件查询有很多方式
下面是常见案例
首先我们创建这样一个表 并插入数据
基本查询:
这里用的是select name 就是查询他们的名字 要是要所有的列 就再去都放上就可以了
数学分数不足八十分的同学
查询数学分数低于语文的学生
and和or
查询语文大于80且数学大于80的同学
查询语文大于80或数学大于80的学生
范围查询
between
查找语文在80到90分之间的同学
in
查询语文分数是95 和 是86的同学
模糊匹配like
%可以代替多个字符 _可以代替任何一个字符
NULL 的查询
select * from student where name is (not) null
分页查询
limit
select 列名 from 表名 limit N;
从第零条开始返回n条
select 列名 from 表名 limit N offset M;
从第N条开始查询 最多返回M条
update
update 表名 set 值 where 条件