简单的MySQL数据库语句

MySQL数据库语句
-----------DDL数据定义语句------------------
1.查询数据库所有库名
show databases;
2.创建自定义数据库
create database 自定义库名;
3.指向数据库
use 库名;
4.查询数据库中所有表的信息
show tables;
5.创建数据库表结构(只能创建不能修改)
create table 自定义表名(字段名 字段类型(类型长度),字段名02 字段类型02(类型长度)...);
6.查询表结构
desc 表名;
7.添加表结构
alter table 表名 add 字段名 字段类型(字段长度);
8.修改表结构
alter table 表名 change 旧字段名 新字段名 新字段类型字段长度;
9.更改表名
alter table 旧表名 rename 新表名;
10.删除表名
drop table 表名
11.删除字段名
alter table 表名 drop 字段名;


创建数据库可以允许的数据类型基本有(int integer char varchar date double(M,D)M为正数长度,D为浮点长度);
设定主键 primary key;主键不能重复 不能为空 
设定不能为空 not null;


-------------DQL与DML-----------------
1.查询


查询所有
select * from 表名;
查询部分字段
select 字段名1,字段名2... from 表名;
查出的字段名更改成别名
select 字段名1 as 别名1,字段名2 as 别名2... from 表名;


2.添加
向表中添加部分字段数据
insert into 表名(字段名1,字段名2...) values(添加值1,添加值2...);


向数据库添全部信息 插入字段值的顺序与数据库字段顺序相同
insert into 表名 values(全部字段1值,全部字段2值...);


3.修改
update 表名 set 修改字段1=修改后的值1, 修改字段2=修改后的值2.... where 条件;


4.删除
delete from 表名 where  条件;


where 条件可以写在select,delete,update;
where 条件如果要添加两个或多个对象时使用  and 与 or 或;


5.筛选
从几到几命令语句
select * from 表名 where 条件字段名(不用等于什么值了)between 起始值 and 结束值;


in(显示);
select * from 表名 where 被筛选的字段名 in(筛选1,筛选2...);


not in(不显示)
select * from 表名 where 被筛选的字段名 not in(筛选1,筛选2...);




6.模糊
like
如果查询是varchar类型则需要''括上 下划线为死值只占有一个位数 %为0到无穷大占位
select * from 表名 where 模糊字段名 like '_查找值%';


7.限制显示
limit
从数据下标第几个开始显示几个结束
select * from 表名 limit 下标数字,显示个数;


没有下标参与只是显示几个
select * from 表名 limit 显示个数;


8.去重
distinct
select distinct 被去重字段名1,被去重字段名2....from 表名;




如果where条件判定是空
select * from 表名 where id is null;


=============================================================
数学运算符
+ ,- ,* , / , < , > , = , !=


1.求和
sum
select sum(被求和字段名只能是数字类型) from 表名;
2.寻找最大值
max
select max(查询最大数值字段类型随意) from 表名;
3.寻找最小值
min
select min(查询最小数据字段类型随意) from 表名;
4.统计字段有值的个数
count
select count(字段名) from 表名;
5.四舍五入
round
select round(字段名) from 表名;
6.求平均数
avg
select avg(字段名) from表名;


=============================================================
自连接


显示所有员工以及员工经理名称
SELECT a.ename AS '经理名',b.ename AS '员工名' FROM emp a,emp b WHERE a.empno=b.mgr;




外连接
列出部门名称和这些部门的雇员,同时列出那些没有雇员的部门


内外链接
A  inner join B on
内外链接可以去除掉不符合on条件,但会显示null数据字段的,A显示表的内容






左外连接
A left join B on
显示A的内容 符合B的条件 on 为对比条件
SELECT d.dname,e.ename FROM dept d LEFT JOIN emp e ON d.deptno=e.DEPTNO;


右外连接
B right outer join A on
符合B条件 显示A的内容 on 为对比条件
SELECT d.dname,e.ename FROM emp e RIGHT OUTER JOIN dept d ON d.deptno=e.deptno;




分组(凡是分组字段不一样值的时候则分开为另一个)
group by
分组不能使用where当条件 能用having子句控制条件语句


列出各种工作类别的最低薪金,显示最低薪金大于1500的记录
SELECT MIN(sal),job FROM emp GROUP BY JOB HAVING MIN(sal)>1500;




排序
order by
select * from 表名 order by 被排序的字段名 排序方法;
排序方法分为 desc asc;


嵌套查询


select * from 表名 where 条件=(select 唯一值的显示字段 from  表名 where 条件=(...));







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值