SQL分类

分类:

  • ddl 数据定义语言:操作数据库和表结构 data define language
  • dml 数据操作语言:操作数据记录–增删改
  • dql数据查询语言:查询数据记录
  • dcl数据控制语言:用户权限的控制–授权和撤销权限

ddl学习

C (Create):创建
创建数据库

create databases 数据库名;

创建数据库前先判断是否存在

create database if not exists 数据库名;

创建数据库,判断是否存在,并指定字符集

create database if not exists 数据库名  character set 字符集

R (Retrieve):查询
查询所有数据库的名称

show databases;

查询某个数据库的字符集–其实是查询数据库的创建sql语句

show  create database db1(数据库名);

U(Update):修改
删除数据库

drop database db1(数据库名);

使用数据库
查询当前正在使用的数据库名称

select database();
  1. ddl操作表
    1. 查询
      查询某个数据库中所有的表名称
show tables;

查询表结构

desc 表名;

查询表的创建语句

show create table 表名;
   2.创建
 创建表

    create table 表名(
        列名1  数据类型1,
        列名2  数据类型2,
        ......
        列名n 数据类型n
    );

    注意:最后一列,不需要加逗号

`
3.删除表

1. drop table 表名
2. drop table if exists 表名

4.修改
修改表名

 alter table 表名 rename to 新表名

修改表的字符集

-- 查看表的字符集,其实是查看表的创建语句
show create table 表名;
 -- 修改表的字符集
alter table 表名 character set 字符集;

修改列
添加一列

alter table 表名 add 列名 数据类型;

修改列类型

 alter table 表名 modify 列名 数据类型;

删除列

alter table 表名 drop 列名;

dml学习

  1. 添加数据
    insert into 表名 (列名1,列名2,…列名n) values (值1,值2,…值n);
注意:
1.值要和列名要一一一对应,有几个列就要有几个值
2.添加全部字段数据时,列名部分可以省略,即:
     insert into 表名 values (值1,值2,...值n);

添加部分字段

insert into 表名 (列名1,列名2,列名3,...) values (值1,值2,值3,...);
注意:
1.值必须和列名对应
2.列名可以不是连续的
3.列名可以不按照表结构中的顺序,但通常建议按照先后顺序
4.添加部分字段时,列名不能省略
5.没有添加数据的字段默认使用null填充

批量添加数据

-- 分析:属于添加部分字段 
insert into emp (id,name,age,sex) values
(2,'张三',3,'男'),(3,'李四',26,'男'),(4,'王五',27,'女')

-- 批量新增语法
insert into 表名 (字段1,字段2,...) values (值1,值2,...),(值1,值2,...),(值1,值2,...)

2.删除数据
.删除满足条件的数据

delete from 表名 [where 条件];
注意:
1.如果不加条件,则删除表中所有的数据

eg:
delete from emp1;
delete from emp1 where true; 
delete from emp1 where 1=1;

删除表中的所有数据

truncate table 表名;
两种删除所有数据的方法:
1.truncate方式,先删除整个表,再创建一张同样结构的表,执行效率高,推荐使用。
2.delete from 表名 ,不带条件,有多少条记录就会执行多少次删除操作,效率不高,不推荐。
  1. 修改数据

语法

update 表名 set 列名1=值1, 列名2=值2, ... [where 条件];

dql学习
完整的查询语法

select
	字段列表
from
	表名列表
where
	条件列表
group by
	分组字段
having
	分组之后的条件
order by
	排序
limit
	分页限定
基础查询

多个字段查询

select 字段名1,字段名2... from 表名;

去除重复

关键字 distinct 
直接放在select后面

四则运算

一般可以使用四则运算计算一些列的值。(一般只会进行数值型的计算)
 ifnull(表达式1,表达式2):null参与的运算,计算结果都为null
	 表达式1:哪个字段需要判断是否为null
	 如果该字段为null后的替换值。

起别名

字段名 后写关键字 as  或省略as 直接用空格

条件查询

  • where和 运算符 构成查询条件
> 、< 、<= 、>= 、= 、<>
 BETWEEN...AND  
 IN( 集合) 
 LIKE:模糊查询
 占位符:
     _:单个任意字符
     %:多个任意字符
 IS NULL  
 and  或 &&
 or  或 || 
 not  或 !

模糊查询
使用关键字 like

通配符:
_ 匹配一个字符
% 匹配0-n个字符
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值