走进MySQL(7)

写在最前,本篇文章大部分来源于动力节点MySQL入门基础的提炼,并附带自己的理解。主要是为了复习此前学了又忘的数据库。如果同时还能对其他人有所裨益,那就更好不过了。如果有谬误的地方,还请不吝指出。

DDL

表的创建

语法格式:create table 表名(字段名 数据类型, 字段2 数据类型);
在类型后面跟 default, 可以指定默认值

mysql常见数据类型*

varchar: 可变长度字符串,虽然可以给定值,但会根据字符串的实际长度动态分配空间,速度较慢。255
char: 定长字符串,不管实际长度,分配固定长度空间。使用不恰当,导致空间浪费。255
如何选择?对于已知长度的字段,采用char,否则采用varchar

int 等同于java int 11位
bigint等同于java long
float double
date 短日期类型
datetime 长日期类型
clob 字符大对象,最大4g 超255字符 Character large object
blob binary large object 二进制大对象, 存储图片、声音、视频等。插入数据时,需要使用IO流

快速创建表

原理:将查询结果当做一张表新建
create table [name1] as select * from [表名];
将as后面的语句当做一个独立的查询结果新建一张表。

删除表:

drop table 表名;不存在会报错
drop table if exists 表名 ; 存在才会删除

对表结构的增删改

即添加一个字段,删除一个字段,修改一个字段
实际开发,很少 -->成本较高,对后端处理代码会进行大量修改。

DML

insert

语法格式:
insert into 表名(字段名, 字段名2,字段名3) values(值1,值2,值3);
注意:

  1. 字段名必须和值一一对应
  2. 如果缺少字段,则默认为null(除非创建表时default指定了默认值);
  3. insert一旦执行成功,一定会多一条记录
  4. 一旦省略所有字段/值,相当于全都选上。

插入日期

str_to_date:将字符串类型转为date类型,第一个参数为字符串,第二个参数为格式,如果字符串格式恰好为%Y-%m-%d,可以不用这个函数
data_format:将date类型转成有一定格式的varchar类型,第一个参数为date类型的变量,第二个参数为格式。
如果不使用这个函数则会进行自动转换。

日期格式:
%Y
%m
%d
%h
%i
%s

如何插入当前时间?
now()函数,带有时分秒信息

date和datetime的区别

date:短日期,只包括年月日信息
datatime:长日期:包括年月日时分秒信息, 默认格式 %Y-%m-%d %h:%i:%s

插入多条记录

在values的括号中可以使用多个括号,以插入多条记录。

将查询结果插入表中

insert into [表名] select xxx from xxx where xxx;

update

格式:
** update ** 表名 ** set ** 字段名1=值1, 字段名2=值2 ** where ** 条件;

注意:没有条件限制会导致所有数据全部更新

delete

格式:
delete from 表名 where 条件;
注意:如果没有条件,会导致整张表数据全部删除。

快速删除表中数据

普通delete语句速度较慢

delete:表中数据被删除了,但是数据在硬盘上的真实存储空间不会被释放。DML
优点:效率较低
缺点:支持回滚

truncate语句删除数据:DDL
效率较高,物理删除
不支持回滚

格式: truncate table [表名];

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值