Mysql数据库的基础指令----笔记

基础部分

create database     {数据库名字} 创建数据库
use  {数据库名称 }             使用数据库
show databases    {数据库名称 } 查看数据库
show full tables            查看表(有详细信息)
drop database    {数据库名称 }删除数据库
create table     {表名}         创建表
describe         {表名}         查看表


增加列     alter table 表名 add 字段名 数据类型;
修改字段类型     alter table 表名 modify  字段名 数据类型;
修改字段名      alter table 表名 change 旧字段名 新字段名 数据类型;
删除列     alter     table     表名    drop    字段名;
主键约束:primary key
外键约束:foreign key
修改表名:ALTER TABLE {表名} rename {新表名} 
唯一约束:UNIQUE
非空约束:NOT NULL
默认约束:DEFAULT
设置表的属性值自动增加:AUTO_INCREMENT
指定位置添加字段  ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] AFTER <已经存在的字段名>;

开头添加字段 ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] FIRST;

末尾添加字段 ALTER TABLE <表名> ADD <新字段名><数据类型>[约束条件];

内外键

删除外键 alter table <表名> drop foreign (外键约束);

添加外键 foreign key(字段名) references 外键表名(外键字段名字)

添加内建 primary key(字段名) 

添加默认值 {字段名}{字段类型} default “默认值”

设置值的范围  {字段名}{字段类型} check (字段名 取值范围)


 列表范围查询:
SELECT 字段名 FROM 表名 WHERE 查询字段 BETWEEN 数值 AND 数值;

查询列表内容:
SELECT 字段名 FROM 表名 WHERE 查询字段 in (查询值);

查询列表不属于的内容:
SELECT 字段名 FROM 表名 WHERE 查询字段 not in (查询值);

插入表数据(部分记录):
insert into 表名 (插入字段名) values (数据,数据,数据);

插入表数据(完整记录):
insert into 表名 values(数据,数据,数据);--(按字段顺序排列,中文加影号)

同时插入多条数据:insert into 表名(字段名)values
        (数据,数据,数据),
        (数据,数据,数据),
        (数据,数据,数据);

修改表指定数据:
update 表名 set 字段名=修改值,字段名=修改值 where 字段名=ID;(横向)

删除指定数据 :
delete from 表名 where 字段名(筛选项)
        例如id=3(删除id为3的所有数据)

删除大于或小于数据:
delete from 表名 where 字段名 >数值 or  字段名 <数值;

查询表内字段内容:
select 字段名,字段名 from 表名

定义字段别名:
select 字段名 as '定义字段别名'

批量定义字段别名:
select 字段名2,字段名3
case
    when 修改字段名1 is null then '无业绩'
    when 修改字段名1 <=1000 then '业绩一般'
    else '优秀'
end '定义结果字段名'
from 表名

查询结果去重:
select distinct 字段名,字段名 from 表名 where 字段名=查询字段内容

函数:


rand():随机生成一个0到1之间的值,加上*100就是0到一百之间的数
AVG:平均值
MAX:最大值
MIN:最小值

查询字段什么或什么的内容:
select *
from  表名
where 字段名 in (查询内容)

查询字段不是什么或什么的内容:
select *
from  表名
where 字段名 not in (查询内容)

查询字段内容范围:
select *
from 表名
where 查询字段名 between 范围(小值) and 范围(大值)

模糊查询:


where 字段名 like 查询范围
“%”是 MySQL 中最常用的通配符,它能代表任何长度的字符串,字符串的长度可以为 0。例如,a%b表示以字母 a 开头,以字母 b 结尾的任意长度的字符串。
“_”只能代表单个字符,字符的长度不能为 0。例如,a_b可以代表 acb、adb、aub 等字符串。

排序
select *
from 表名
where 查询尺度
order by 排序内容 desc(降序,升序为:asc)默认为升序

多个条件排序
select *
from 表名
where 查询尺度
order by * desc,* asc

对分组查询添加条件
select 字段,函数()
from 表名
group by 组名 having avg(esal)>1000 #函数+条件

对分组查询后新增一条记录为总和 
select 字段,函数()
from 表名
group by 组名 with rollup

限制查询结果行数
select 字段
from 表名
limit 3(行数)

多表查询
select *
from 表名,表名
where 表名.字段名=表名.字段名
OR
SELECT ename,esal,dname
FROM employees,departments
WHERE employees.eno=departments.dno

内连接:
select 字段名
from 表名1
inner join 表名2
on 条件(表)(employees.eno=departments.dno)
where 

连接查询:
select 
from 表名1
inner join 表名2
on
where

左连接(以左边的表为准查询)下面是以表1的基础查询更改
select 
from 表名1 left join 表名2
on
where 

子查询操作符:any(some),all,in,exists
    exists方法:
select 字段名
from 表名
where exists (select 字段名 from 表名 where 查询条件)
    in方法:
select 字段名
from 表名
where in(select 字段名 from 表名)

合并查询结果:
select... from ... 
union
select... from ...

创建视图


create view 视图名称
as
select 字段名
from 表名
where 查询范围

索引:为系统指向,快速定位到要使用的表


  索引类型:    primary key 索引
                        index 索引
                        unique 索引


创建索引:create index 索引名 on 表名 {字段名}(在现有表中添加索引) 
                    alter table 表名 add index 索引名 {字段名}(添加索引,修改表结构)
查看索引:show index from 表名
删除索引:alter table 表名 drop index 索引名 
                    drop index 索引名 on 表名

事务:


查看事务状态:show variables like 事务名称;
关闭自动提交状态:set autocommit=0;(数值为1就是开启状态)
建立保存点(快照):savepoint 保存点名称;
回到保存点:rollback to savepoint 保存点名称;
提交内容(保存修改内容):commit;

变量定义


用户变量:set @用户变量="表达式"
局部变量:declare 变量名 类型(int);
为变量赋值:set 变量名=表达式或者值

调用存储过程:call 存储名(数);
删除存储过程:drop procedure if exists 存储名
查看存储过程的创建语句:show create procedure
查看当前数据库的存储过程:show procedure status where db=""
跳出循环:itrate
增大循环次数:bigint

函数:
自定义函数的创建:create function 函数名 returns(返回值类型)
打开创建自定义函数权限:set global log_bin_trust_function_creators=1;
commit;


刷新权限列表:flush privileges

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值