MySQL数据库常用代码启动数据库服务:【 net Start MySQL 】
使用命令登录:【 Mysql -h localhost -u root -p】
关闭数据库服务: 【net stop mysql 】
查看mysql中以存在的数据库:【 show databases;】
创建数据库: 【create database 数据库名;】
检查数据库名称是否存在,不存在创建该数据库,存在则不创建:【create database if not exists 库名;】
使用数据库: 【use 数据库;】
获取当前使用的数据库:【select database();| select schema();】
删除数据库:【drop database 数据库名;】
判断数据库存在则删除:【drop database if exists 库名;】
创建表:create table 表名(字段名1.数据类型,字段名2.数据类型...... )
显示当前数据库中表:【show tables;】
查看指定表的结构:【desc 表明;】
修改表名:【alter table 旧表名 rename to 新表名;】
修改字段数据类型:【alter table 表名 modify 字段名 新数据类型;】
修改字段名:【alter table 表名 change 旧字段名 新字段名 新数据类型;】
增加字段:【alter table 表名 add 新字段名 新数据类型[约束条件/(可选)]first|after 已有的字段/(可选);(first:最前 after: 指定为后)】
删除字段:【alter table 表名 drop 字段名;】
往表里面插入数据:【insert into 表名 (字段名1,字段名2....)values(值1,值2...)】
查询数据:【select * from 表名;(星号代表查询所有的字段)】
查询单个或多个字段内的数据:【select 字段名,字段名2.... from 表名;】
带有条件的查询:【select * from 表名 where 字段名=条件;】
使用in关键字查询指定记录:【select * from 表名 where 字段名 in (条件);(可以有多个条件,用逗号隔开。)】
对表中的数据的基本操
使用not in 关键字查询指定记录:【selec * from 表名 where 字段名 not in(条件) ;(查询所不能满足条件的数据,多个条件可以用逗号隔开)】
更改数据:【update 表名 ste 字段名=所更改的 where 主键列=指定列】
清除数据:【delete from 表名 where 主键列=指定列;】
带between and的范围查询:【select *|字段名 from 表名 where 指定字段的名字between 值 and 值;】
带like的字符匹配查询:【select * |字段名 from 表名 where 指定字段 like 想要匹配的值;】
带有%和_结合like的查询:
【(1)select *|字段名 from 表名 where 指定字段 like 想要匹配的值%;
(2)select *|字段名 from 表名 where 指定字段 like _想要匹配的值;】
查询空值:【select *|字段名 from 表名 where 指定字段 is null;】
查询非空值:【select *|字段名 from 表名 where 指定字段 is not null;】
使用and实现多条件查询:【select *|字段名 from 表名 where 字段名=值1 and 字段名 =值2;】
使用or实现多条件查询:【select *|字段名 from 表名 where 字段名=值1 or 字段名 =值2;】
筛选重复的记录:【select distinct 字段名 from 表名;】
对查询结果单列排序:【select *|字段名 from 表名 order by 排序字段;】
对查询结果多列排序【select *|字段名 from 表名 order by 排序字段1,排序字段2;(选排序第一个,然后排序 后面的,从大到小,每个字段 后面都要加上desc。)】
指定排序的顺序:【slect *|字段名 from 表名 order by 排序字段 desc/asc;(desc-从在到小,asc-从小到大)】
分组查询(将相同的数据放入一组):
【 1)·select 字段名*,count(*|字段名) as 别名 from 表名 group by分组字段;
(count(*|字段名)该函数是显示该组中有多少聊记录)
2)·select 字段名,group_concat(字段名) as 别名 from 表名 group by 分组字段;】
使用having过滤分组:【select 字段名,group_concat(字段名2) as 别名 from 表名 group by 字段名 having count(*|字段名2)>指定数;】
分组后统计:【select 字段名,count(*) as 别名 from 表名 group by 分组字段 withrollup;】
使用limit限制查询数量:【select * from 表名 limit n,m;(显示从(n从0开始)+1行开始,总共显示m条记录)】
使用集合函数查询
sum()求和函数的使用:【语法:select sum(字段名) as 别名 from 表名;】
求平均值函数:【select avg(字段名) from 表名;】
avg函数和group by 一起使用求每个分组的平均值:【select 分组字段,avg(求平均值字段) from 表名 group by 分组字段;】
max()函数求指定列的最大值:【select max(指定列) from 表名;】
max函数和group by一起使用求每个分组的最大值:【select 分组字段,max(求最大值字段) from 表名 group by 分组段】
使用min()函数指定列最小值:【select min(指定列) from 表名;】
外建约束设置外建方式:
一:建表时 设置外建
constraint 外建名称foreign key(外建字段)references主表名(主建字段名称);
(constraint 外建名称 可选默认mysql会自己创建)
二:查看表信息 show create table 表名;
三:删除外建:alter table 表名 drop foreign key 外建名;
四:动态添加外建:alter table 表名 add foreign key(外建字段)references 主表名(主建字段);
(在添加外建是必须确认表中数据合法)
子查询
带exists的子查询
select * from 表名 where exists(子查询语句);(子查询只要查询 出的记录>=1条,则执行外部查询,而子查询则不看了)
带in关键字的子查询
select * from 表名 where 字段名in (子查询语句);(相同数值匹配———>显示相同数值)
带比较运算符的子查询
select 字段名 from 子表名 where 字段名 >|=|
带any some all关键字的查询
select 字段名1 from 表名 where 字段名1>any(select 字段名2 from 表名2);
运算符 any some all
> >= 最小值 最小值 最小值
= 任意值 任意值
!= 任意值
与any、some不同的是。all需要同时满足所有内层的查询条件。
联合查询
合并查询结果(查询两个表指定字段合并起来的数据)
(合并时两个表对应的列数和数据类型必须相同)
select 字段名....from 表名1 union all select 字段名.....from 表2;(加了all显示重复的数据,不加则不显示重复数据)
帮到了你的话投个币在走吧!