数据库知识

1 篇文章 0 订阅
1 篇文章 0 订阅

SQL语句

1. 创建数据库

create database [databasename];

在这里插入图片描述

2. 查看数据库

show databases;

在这里插入图片描述

3. 使用数据库

use databasename;

在这里插入图片描述

4. 创建表

create table sellingpoint(
id int not null primary key,
author varchar(100),
title varchar(200)); 

在这里插入图片描述

5. 显示表结构

desc tablename;

在这里插入图片描述

6.修改表

1.删除表

drop table tablename;

在这里插入图片描述
2. 清空表数据

truncate table tablename;

在这里插入图片描述
3. 增加列

alter table tablename add colname varchar(100);

在这里插入图片描述在这里插入图片描述
4.删除列
alter table tablename drop columnname;在这里插入图片描述
5.更改列属性

  • 只修改属性
alter table tablename modify columnname varchar(100) ...;
  • 修改列名
alter table tablename change name1 name2 varchar(100);//后面必须写上列的属性

在这里插入图片描述

  • 修改列名及属性
alter table change name1 name2 varchar(100);

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

7.增删改查

1.插入数据

  • 普通插入
insert into tablename(col1,col2,col3...) values (value1,value2,value3...)

在这里插入图片描述

  • 将一个表内容插入到另一个表

create

  • 将一个表某几列数据插入到另一个表
insert into mytable(col1,col2) select col1,col2 from mytable2;

2.删除数据

delete from tablename where ...

在这里插入图片描述
在这里插入图片描述
3.更改数据

update tablename set columename=' ' where ...

在这里插入图片描述
4.查询数据

  • 显示某几列信息
select col1,col2 from tablename where ...

在这里插入图片描述

  • 显示所有列信息
select * from sellingpoint where id=10;

在这里插入图片描述

  • distinct 用于显示具有不同列值的元素,只有所有列相同才判定为相同
select distinct col1,col2 from tablename where ...

在这里插入图片描述

  • limit 限制返回的行数,接收两个参数,第一个为起始行,默认为0,第二个为总行数
select * from tablename where ...  limit 3,4; //从查询到的结果的第3行开始,显示4行数据

在这里插入图片描述

  • count

count函数是用来统计表中或数组中记录的一个函数,

count(*) 它返回检索行的数目, 不论其是否包含 NULL值。

例如:SELECT COUNT(*) FROM sellingpoint;

COUNT(DISTINCT 字段),返回不同的非NULL值数目;若找不到匹配的项,则COUNT(DISTINCT)返回 0 。
在这里插入图片描述

  • count 与group配合
    COUNT( )和GROUP BY以各种方式分类你的数据
select col1,count(*) from sellingpoint where ... group by col1;

在这里插入图片描述

  • 升序 asc、降序desc
select col1,col2 from tablename where ... order by  colname desc/asc;

在这里插入图片描述

8.通配符

  • “%”:匹配大于等于0的任意字符,null不可以
select * from tablename where author like '刘%';

在这里插入图片描述

  • “_”:匹配一个字符
  • 使用like与not like匹配查询
select * from sellingpoint where author like '_永';
select * from sellingpoint where author not like '%永%';

在这里插入图片描述

9.过滤

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

10.计算字段(使用as输出)

select col1*col2 as alias from selling2;

concat()用来连接字段,用trim清除字段的空格

select concat(trim(author),'+',trim(content)) from selling2 where ...;

在这里插入图片描述

11.函数

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

12.分组GROUP BY

把具有相同值的列放在同一组中,默认按分组字段排序,也可以选择按汇总字段排序。

select col1,count(*) as num from selling2 where id>5 group by author order by num;

规定

  • group by 在order by之前,在where之后
  • 可以用having过滤汇总字段,放在最后
select author,count(*) as num from selling2 
where id>3 
group by author
having num>2  
order by num ;

13.子查询

子查询中只能返回一个字段的数据。

可以将子查询的结果作为 WHRER 语句的过滤条件:
在这里插入图片描述

14.连接

连接用于连接多个表,使用join关键字,且条件语句用on不用where
可以替换子查询,且效率比子查询快

1.内连接查询(等值查询) inner join

select c.name,o.id, o.customers_name from customers as c inner join orders as o on c.name=o.customers_name;

在这里插入图片描述

2.自连接

自连接可以看成内连接的一种,只是连接的表是自身而已

3.自然连接

自然连接是把同名列通过等值测试连接起来的,同名列可以有多个。

内连接和自然连接的区别:内连接提供连接的列,而自然连接自动连接所有同名列。

SELECT A.value, B.value
FROM tablea AS A NATURAL JOIN tableb AS B;

4.外连接

外连接保留了没有关联的那些行。分为左外连接,右外连接以及全外连接,左外连接就是保留左表没有关联的行。
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

15.组合查询UNION

连接两个查询数据,1.M行,2.N行,UNION:M+N行,不保留重复数据 ,UNION ALL:保留重复数据
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值