前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >知识回顾

知识回顾

作者头像
小闫同学啊
发布2019-07-18 10:30:36
4360
发布2019-07-18 10:30:36
举报
文章被收录于专栏:小闫笔记小闫笔记

DDL数据定义语言,数据库操作

创建数据库,数据表

查看数据库 show databases;

创建数据库 create database db_xx charset utf8;

修改数据库字符集 alter database db_xx charset utf8; Windows装的时候用gbk

查看数据库的创建信息 show create database db_xx;

切换使用数据库 use db_xx;

查看当前工作数据库 select database();

删除数据库 drop database db_xx;

DDL数据定义语言,数据表操作

数据表操作

查看当前数据库中有哪些数据表 show tables;

常见数据表 create table t_xx(id int(显示宽度) primary key auto_increment,name char(储存的字符数) unique,address varchar(50) default '北京',gender enum(‘男’,‘女’) not null, cid int,foreign key(cid) references t_xxx(id));

ID 用unsigned修饰一下,无符号,就是全是正的

zerofill 零填充的意思(长度不够的都补上0,而且指定了zerofill的话,该字段自动被认为是unsigned的)

varchar 变长字符串

外键要关联的字段类型必须一致 int(5),那么都是int(5)

查看数据表的创建信息 show create table t_xx;

show create table t_xx \G

查看表结构 desc t_xx;

改-增字段 alter table t_xx add new_f_xx ty_xx;

改-修改字段类型 alter table t_xx modify f_xx new_ty_xx;

改-修改字段名 (同时可以修改字段类型) alter table t_xx change old_f_xx new_f_xx new_ty_xx;

改-删除字段 alter table t_xx drop f_xx;

删除数据表 drop table t_xx;

DML数据操作语言

主要完成 对数据的CUD

先使用数据库

先去借助一个查询语句,用来验证结果select * from t_xx;

插入数据

为所有字段插入单条数据 insert into t_xx value(v1,v2,v3,.....);

value 和values的区别是插入单条或多条时效率不同,单条前面效率高

为指定字段插入数据,要注意值得顺序和类型要和给定字段匹配

insert into t_xx(f_xx,f_xx,...) values(v_1,v-2,...);

插入多条数据 insert into t_xx(f_xx,f_xx,...) values(v_1,v-2,...),(v_1,v-2,...),....;

insert into t_xx values(v_1,v-2,...),(v_1,v-2,...),....;

修改更新数据 update t_xx set f_xx = v_xx; 对整表操作

update t_xx set f_xx = v_xx where f_xx = v=xx; 满足条件的记录进行修改

删除数据

删除整表,不经过事务,会重置auto_increment 编号

truncate t_xx;

不会重置编号,可以放到事务操作中的删除指令

delete from t_xx; 默认整表操作

delete from t_xx where f_xx = v_xx; 删除满足条件的数据

DQL数据查询语言

只实现查询操作select

查询所有数据select * from t_xx;

查询指定字段的数据 select f_xx,f_xx,..... from t_xx; 先去获取数据,再查询

给字段起别名 select f_xx as a_xx, f_xx a_xx,...... from t_xx as t_a_xx;

表也可以起别名

as可以写可以不写

数据的去重 select distinct f_xx from t_xx; 单字段去重;

select distinct f_xx,f_xx,..... from t_xx; 多字段去重,只有所有指定的字段值都相同,才认为是重复数据

条件查询 select * from t_xx where f_xx 条件运算符 v_xx;

关系运算符 > , < ,>= ,<= , = , != ,<>

逻辑运算符 and,or ,not

模糊查询 like, % 任意多个字符 ,_任意单个字符

范围查询 非连续值 in(v1,v2,....), 连续值between .. and ...

判断空 不能使用等于个不等于

只能使用 is null 和 is not null

not f_xx is null 效率要慢一点,两个运算符进行计算

排序 select * from t_xx order by f_xx asc; 单字段排序,默认是asc,可以不写

select * from t_xx order by f_xx desc; 降序

select * from t_xx roder by f_xx asc | desc, f_xx ase |desc,......; |代表或者

先以第一个主排序字段进行排序,如果有相同使用下一个

分页 limit

select * from t_xx limit 起始索引,显示条数;

默认起始索引从0开始,可以不写

第n页的其实索引计算公式 (n-1) * count

聚合函数 sum() avg() min() max() count() group_concat()

count()可以写*强制统计空值,其他除了grope_concat()都统计的非空值

一般情况下,聚合函数要和分组配合使用

分组 group by

select f_xx,f_xx from t_xx group by f_xx,f_xx; 分组时使用了那个字段进行分组,那么就只能查询哪个字段

分组可以实现去重的作用,但是比distinct更加强大

select 后除了分组字段外,只能写聚合函数

分组筛选条件

select f_xx from t_xx group by f_xx having f_xx =v_xx;

where 和 having的区别

where一般先于分组执行,而having是后与分组执行,就是对分组后的数据进行筛选。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-12-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 全栈技术精选 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档