MySQL(二)——超详细的基本SQL语句的使用

一、库操作

1.创建数据库
create database database_name;

在这里插入图片描述

2.查看数据库
 show databases;

在这里插入图片描述

3.使用数据库
use database_name;

在这里插入图片描述

4.查看数据库下存在的表
show tables;

在这里插入图片描述

5.删除数据库
drop database database_name; 

在这里插入图片描述

二、表操作

1.创建表
create table table_name(
 属性名1 数据类型 [完整性约束],
 属性名2 数据类型 [完整性约束],
 属性名3 数据类型 [完整性约束],
 ......
 );

注:[  ]里面的表示可有可无
  • 属性名
    • 例如:id,name,sex
  • 数据类型
    • int、long 、char 、varchar
  • 完整性约束
约束条件说明
primary key表示当前属性为该表的主键,可以区分不同的行记录
foreign key修饰的属性为该表的外键,表之间关联使用的键
not null表示该属性不能为空
unique表示该属性的值具有唯一性
auto_incrementMYSQL特色,表示属性是自增的,自增类型为整形
default给属性设置默认值

注:可以大写或小写,但不能大小写混用!!!
在这里插入图片描述

2.查看表
//第一种
desc table_name;
//第二种
show create table table_name;

在这里插入图片描述
通过desc关键字查看表的字段名称、类型、是否为null、约束条件、默认值、备注信息
在这里插入图片描述
展示创建表的SQL语句,并且打印了存储引擎以及字符集编码

3.删除表
drop table table_name;
4.修改表
  • 修改表名

    alter table old_table_name rename new_table_name; 
    
  • 修改字段的数据类型

    alter table table_name modify 属性名 属性类型;
    
  • 修改属性名

    alter table table_name change 旧属性名 新属性名 新属性类型;
    
  • 增加表的字段(属性)

    alter table table_name add 属性名 属性类型 [完整性约束];
    
    alter table table_name add 属性名 属性类型 [完整性约束] first;   //firet不能指定增加在谁前面,只能默认增加在第一个属性
    
    alter table table_name add 属性名 属性类型 [完整性约束] after 属性名;  
    

    在这里插入图片描述

  • 删除字段

    alter table table_name drop 属性名;
    
  • 修改字段的排列顺序

    alter table table_name modify 属性1 属性类型 first 属性2;
    alter table table_name modify 属性1 属性类型 after 属性2;
    
  • 修改存储引擎

    alter table table_name engine=InNoDB
    alter table table_name engine=myISAM;
    
5.插入数据
insert into table_name(属性1,.....属性n) values (value1,...valuen);
如果插入的数据属性和表的属性一致:
insert into table_name values (value1,...valuen);
可多条数据一起插入:
insert into table_name(属性1,.....属性n) values (value1,...valuen),(value1,...valuen)......;

在这里插入图片描述
在这里插入图片描述

6.删除数据
alter table table_name drop 属性名;

在这里插入图片描述

7.查询表

查询表SQL的基本查询结构:

	select 属性列表  from  表名 [where 条件表达式1]  [group by 属性名1 [Having 条件表示式2]]  [order by 属性名2 [asc|desc]]

在这里插入图片描述

  • 带in的子查询
    [not] in ( 元素1,元素2,...,元素n);
    
    在这里插入图片描述
  • 带between and 的范围查询
    [not] between 取值1  and 取值2 ;
    
    在这里插入图片描述
  • 带like的通配符匹配查询
    [not] like '字符串'
    注:like后面的字符串可以携带通配符
    %:表示0个或任意长度的字符串
    _:只表示单个字符
    
    在这里插入图片描述
  • 空值查询
    is [not] null 
    
    在这里插入图片描述
  • 带and的多条件查询
    条件表达式1 and 条件表达式2 [...  AND  条件表达式n]
    
    在这里插入图片描述
  • 带or的多条件查询
    条件表达式1 or 条件表达式2 [...  or  条件表达式n]
    
    在这里插入图片描述
  • 去重查询
    select distinct 属性名 from 表名; 
    
    在这里插入图片描述
  • 对结果排序
    order by 属性名 asc|desc;
    默认是asc:升序
    desc:降序
    
    在这里插入图片描述
  • 分组查询
    group by 属性名 [having 条件表达式]  
    
    在这里插入图片描述
  • union合并查询
    union 默认去重
    all 表示显示所有的值
    
    在这里插入图片描述
  • limit 分页查询
    limit 数据;
    limit 数据1,数据2;
    
    //如果只有一个参数,表示不指定起始位置的limit记录(默认起始位置0);
    //如果有两个参数,第一个表示起始位置,第二个表示偏移量
    
    在这里插入图片描述
8.表联合查询
  • 内连接查询:将两个表中同时存在的数据打印
    表1 inner join 表2 on 表1.属性 = 表2.属性
    

在这里插入图片描述
将上述两个表进行内连接查询
在这里插入图片描述

  • 外连接查询
    • 左连接
      将左表和右表相同属性值的结果返回;
      将左表存在而右表不存在的也返回,右表对应属性值为null;
      将右表存在,左表不存在的则忽略掉
    • 右连接
      将左表和右表相同属性值的结果返回,
      将右表存在而左表不存在的数据也返回,左表不存在的属性值为null
      将左表存在,右表不存在的则忽
    左连接查询:
    表1 left join 表2 on 表1.属性 = 表2.属性
    
    右连接查询:
    表1 right join 表2 on 表1.属性 = 表2.属性
    

在这里插入图片描述
tips: 取别名

  • 属性取别名:
    属性名 [as] 别名
  • 表取别名:
    表名 [as] 别名

三、SQL提供的函数操作

  • count(); 计数使用
  • sum(); 求和
  • max(); 最大值
  • min(); 最小值
  • avg(); 平均值
  • 9
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值