赞
踩
Cmder是一个软件包,它被创建出来用于Windows上替代模拟器的,cmder官网:https://cmder.net/,安装完成后把安装目录下的bin文件夹添加到环境变量里才能正常使用(跟安装python类似)。
mysql -u用户名 -p
enter password:密码
此时把密码单独以密文的形式输入,进入mysql的操作环境。
show databases;
,从1可以看出mysql语句的结尾用分号(;)或者(\g),显示出来的数据库跟SQLyong里的一样。show DataBases;
,得到的结果也一样,用键盘上的上箭头调出上一条语句,如果语句结尾没有分号或者\g,程序会一直等待用户继续输入,直到遇见分号或者\g。select version();
select now();
exit;quit;
create database + 数据库名;
create database + 数据库名 charset=utf8;
show create database + 数据库名(`mytest-01`);
select database();
use 数据库名;
drop database 数据库名;
show tables;
create table 数据表名(字段,类型,约束);
show create table 数据表名;
desc 数据表名;
alter table add 字段 类型;
alter table 数据表名 modify 字段 类型; -- 不重命名
alter table 数据表名 change 原字段名 新字段名 类型及约束; -- 将字段重命名
alter table 数据表名 drop 字段;
insert into 数据表名 values(值1,值2,值3...);
insert into tabname(字段1,字段2...) values(值1,值2...);
insert into 数据表名(字段1,字段2,...) values(值1,值2...),(值1,值2...);
update 数据表名 set 字段1=新值,字段2=新值 [where 条件];
如果后面不加条件,会全部更新delete from 数据表名 [where 条件]
,如果不加条件,会删除全部数据。查询数据直接在结果中显示,就不用再切换到表数据中去刷新查看了。
select * from 数据表名;
select 字段1,字段2 from 数据表名;
查询2个以上的字段时,不能加括号,会报错select 字段1 as 别名,字段2 as 别名 from 数据表名;
select distinct 字段1 from 数据表名;
运算符 | 描述 |
---|---|
a and b | 当同时满足a,b时,则为True |
a or b | 当满足a或b其中一个时,则为True |
not a | 否定 |
用 like 关键字来进行模糊查询,并结合’%‘以及’_'使用
关键字 | 描述 |
---|---|
in | 表示在一个非连续的范围内 |
between…and… | 表示在一个连续的范围内 |
关键字 | 描述 |
---|---|
is null | 判断空 |
is not null | 判断非空 |
在数据库中,通过group by 将查询结果按照1个或多个字段进行分组,字段值相同的为一组。
select 查询内容 from 表名 group by 分组字段;
group_concat(); 查看每组的详细信息
with rollup; 计算分组后的总数
原始数据集 where 条件 group by 分组 having 子句,group by 分组后再进行筛选的时候用having
order by 字段; 默认升序,从小到大排列
order by asc 字段; 指定字段升序
order by desc 字段; 指定字段降序
limit可以限制网页的数据都是分页、分条显示。
limit start,count;
,start 为偏移量,从哪一条开始,默认起始为0;count为条数,一页显示的条数。
limit 不能写数学公式,只能写在末尾。
当查询结果的列来源于多张表时,需要将多张表连接程一个大的数据集,再选择合适的列返回mysql,这时就要使用表连接。
仅选出两张表中互相匹配的记录。如果不指定匹配列,将对两个表进行拼接。
select * from 表1 inner join 表2 on 表1.列 = 表2.列;
select * from 表1 left join 表2 on 表1.列 = 表2.列;
select * from 表1 right join 表2 on 表1.列 = 表2.列;
某些情况下,当进行查询的时候,需要的条件是另外一个select语句的结果,这时就要用到子查询。
不同的引擎支持不同的功能,查看引擎 show engines,默认使用的引擎为MyISAM,这个引擎是不支持外键的,要更改为INNODB,找到MySQL的安装路径,找到my.ini文件,更改default-storage-engine=INNODB,然后到data文件夹里删除ib_logfile0 和 ib_logfile1 这两个文件,重启MySQL就可以更换引擎了。
可以简单的理解为自己与自己进行连接查询。如一张areas表里有省市区,我们需要通过这一张表查询某省对应的所有市。select * from areas as p inner join areas as c on p.id = c.pid having p.name='省份';
比如省市区三级联动选择表中,选择省份,在城市里就会显示相应省份的城市,在地区里也会显示相应城市的地区。
在数据库的provinces表中湖南省的provinceid 为430000,在cities表中长沙市到湘西土家 的城市provinceid 也为430000,做查询的时候首先找到provinces表中湖南省的provinceid,然后根据provinceid 到cities表中去查询。
多表关联,保持数据的完整和一致性。
MySQL的外键约束是表的一个特殊字段,对于两个具有关联关系的表而言,相关联字段中的主键所在表就是主表(父表),外键所在的表就是从表(子表)。
注意:主键不能包含空值,但允许在外键中出现空值,也就是说只要外键的每个非空值出现在指定的主键中,这个外键的内容就是正确的。
student表cls_id和classes表中id看似内容一致,如果没有做任何设置,更改classes表中id的值,student表中的cls_id不会发生变化,需要利用外键建立两个表之间的联系,classes表中的主键id,为student表的外键(cls_id)。一旦两张表建立了联系,可以直接删除子表,但是不能直接删除主表。
创建外键方式 constraint 约束名 foreign key 子表的字段 references 主表名 主键
修改 alter,删除为drop
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。