SQl的分类以及相关使用

DDL数据定义语言

定义

  • 用来定义数据库对象:数据库,表,列等。关键字:create drop alter truncate(清空数据记录) show等

    数据库相关操作

    创建数据库
  • 直接创建数据库:

    1. create database 数据库名;
  • 判断是否存在并创建数据库

    1. create database if not exists 数据库名;
  • 创建数据库并指定字符集(编码表)

    1. create database 数据库名 characher set 字符集

    注意:mysql中字符集utf-8写为utf8

    查看数据库
  • 查看所有的数据库

    1. show databases;
  • 查看某个数据库的定义信息

    1. show create database 数据库名;

    使用数据库
  • 查看正在使用的数据库

    1. select database();
  • 使用/切换数据库

    1. use 数据库名

    小结

  1. 创建数据库语法:CREATE DATABASE 数据库名;
  2. 查看有哪些数据库:SHOW DATABASES;

    DML:对表中的记录进行增删改

    DQL:对表中的记录进行查询

能够说出数据库的作用
存储数据
能够对使用SQL创建、删除数据库
创建:
create database 数据库名 character set 编码表
。mysql中utf8.不是utf-8
删除:
drop database 数据库名;

  1. 使用数据库:use 数据库名<br /> 查看正在使用的数据库:select database();

能够对使用SQL对表进行增、删、改、查操作
增: create table 表名;
删: drop table 表名
改:alter table 表名 。。。。
查:show tables;

能够对使用SQL对表中数据增、删、改操作
增: insert into 表名(字段名,…) values(值) 或者 insert into 表名 values(值)
批量增加:insert into 表名 values(值), (值),(值)…
删: delete from 表名 where 条件
改:update 表名 set 字段名=字段值,字段名=字段值,字段名=字段值… where 条件

能够对使用SQL对表中数据基础查询操作
select from 表名
能够对使用SQL对表中数据条件查询操作
select
from 表名 where 条件
能够对使用SQL对表中数据分组查询操作
select from 表名 where 先筛选条件 group by 字段名,字段名,… having 分组后筛选条件
能够对使用SQL对表中数据排序查询操作
select
from 表名 where 先筛选条件 group by 字段名,字段名,… having 分组后筛选条件 order by 字段名 asc(升序,默认)/desc(降序)
能够对使用SQL对表中数据分页查询操作
select * from 表名 where 先筛选条件 group by 字段名,字段名,… having 分组后筛选条件 order by 字段名 asc(升序,默认)/desc(降序) limit 起始索引,每页显示数据行数

上午回顾:
1.
约束:
主键约束:唯一+非空 primary key ,
主键自动增长:auto_increment
非空约束:not null
唯一约束:unique
默认约束:添加数据不给值,使用默认值。 default
外键约束:使用在多表中,维护表关系。
[constraint 外键约束名] foreign key(作为外键的字段名) references 主表(主键);
constraint fk_order_id foreign key(order_id) references tb_order(id);
2.多表设计:
表关系:
1)一对一:在任意一方将另一方的主键作为外键
2)一对多:将一方的主键作为多方的外键
3)多对多:创建中间表,在中间表中将主表的主键作为外键
3.多表查询:
1)连接查询:
I:内连接查询:
a:隐式内连接 select from 表名1,表名2,… where 条件
b:显示内连接 select
from 表名1 inner join 表名2 on 条件
II:外连接查询
a:左外连接 :查询表公共部分和左表的全部内容
select from 表名1 left outer join 表名2 on 条件
b:右外连接 :查询表公共部分和右表的全部内容
select
from 表名1 right outer join 表名2 on 条件

2)子查询:

能够为表添加主键约束、非空约束、唯一约束
字段名 数据类型 primary key — 主键约束
字段名 数据类型 not null — 非空约束
字段名 数据类型 unique — 唯一约束

能够为表添加外键约束
[constraint 外键约束名] foreign key(中间表的外键字段名) references 主表(主键)
能够说出表与表的三种关系
一对一:将任意一方的主键作为另一方的外键
一对多:将一方的主键作为多方的外键
多对多:创建中间表维护两张主表的关系,在中间表中至少含有两个主表的主键作为外键
能够使用SQL从多张表中查询数据
子查询:
1.单行单列:使用比较运算符作为条件
2.多行单列:使用in作为条件
3.多行多列:作为临时表,使用as起别名,可以省略as
连接查询:
1.确定几张表
2.分析条件
3.分析查询的字段
能够说出事务的作用
主要使用针对增删改语句,要成功都成功,要失败都失败
能够使用SQL开启事务、提交事务、回滚事务
start transaction; — SQL开启事务
commit; — 提交事务
rollback; — 回滚事务