「MySQL Day3」DML&DDL&数据类型

MySQL Day3

1-学习内容总结

(1)DML语言:数据操作语言

(2)DDL语言:数据定义语音

(3)常见的数据类型

2-DML

2.1数据插入 insert

方式一:insert into 表名(列名,…) values(值1,…); 支持插入多行

方式二:insert into 表名 set 列名=值,列名=值,…;不支持插入多行,支持子查询

特点:

  • 插入的值类型要与列类型匹配
  • NULl值的插入以表的定义为准,非空不可以为NULL
    • 方式一:字段与值都省略
    • 方式二:字段与值都声明
  • 表名中约定的列顺序可以进行调换
  • 字段与值的个数必须一致
  • 字段名称可以省略,默认顺序为表内字段顺序
2.2数据删除delete

sql92: update 表名 set 字段1=值1,字段2=值2 where 筛选条件

sql99:

update 表名1

left|right|inner join 表名2

on 连接条件

set 字段1=值1,字段2=值2

where 筛选条件

2.3数据删除 delete

方式一,使用delete:

  • 删除单表中的记录

delete from 表 where 筛选条件 limit 条目数

  • 级联删除

delete 表别名1, 表别名2 from 表1 别名 inner|right|left join 表2 别名 on 连接条件 where 筛选条件;

  • truncate删除

truncate table 表名

2.4delete 与truncate的区别
  1. truncate删除没有返回值,delete有
  2. truncate删除后,标识顺序从1开始,delete标识顺序从断点开始
  3. truncate删除无法进行事务回滚,delete可以进行回滚

3-DDL 数据库定义语言

库、表的管理、修改、删除

3.1 库的管理

create database if not exists 库名

3.2 库的修改

alter database 库名 character set gbk; 修改字符集

3.3 库的删除

drop database if exists

3.4 创建

create table 表名(
列名 列的类型【(长度) 约束】,
列名 列的类型【(长度) 约束】,
列名 列的类型【(长度) 约束】,

列名 列的类型【(长度) 约束】

3.5 修改 add|drop|modify|change

修改列名:alter table 表名 change column 列名 【列类型 约束】

修改列的类型或者约束:alter table 表名 modify cloumn 列名 指定类型

添加新列:ALTER TABLE author ADD COLUMN 列名 指定类型

删除列:ALTER TABLE 表名 DROP COLUMN 列名

3.6 删除

DROP TABLE 表名

3.7 复制

仅复制表结构:CREATE TABLE 表名称 LIKE 存在的表名称;

复制表的结构+数据:CREATE TABLE copy2 SELECT * FROM author;

复制部分数据:CREATE TABLE copy3 SELECT … FROM 表名 WHERE 筛选条件

4-数据类型

整数、小数、字符、日期

4.1-整数型
  • tinyint
  • smallint
  • mediumint
  • int/integer
  • bigint

特点:

  • 如果不设置无符号还是有符号,默认是有符号,如果想设置无符号,需要添加unsigned关键字
  • 如果插入的数值超出了整型的范围,会报out of range异常,并且插入临界值
  • 如果不设置长度,会有默认的长度,长度代表了显示的最大宽度,如果不够会用0在左边填充,但必须搭配zerofill使用!
4.2-小数型
  • 浮点型
    • float(M,D)
    • double(M,D)
  • 定点型
    • dec(M,D)
    • decimal(M,D)

特点:

  • M:整数部位+小数部位,D:小数部位,如果超过范围,则插入临界值
  • M和D都可以省略,但对于定点数,M默认为10,D默认为0
5-字符型

char、varchar、binary、varbinary、enum、set、text、blob

  • char:固定长度的字符,写法为char(M),最大长度不能超过M,其中M可以省略,默认为1
  • varchar:可变长度的字符,写法为varchar(M),最大长度不能超过M,其中M不可以省略

6-日期型

year年

date日期

time时间

datetime 日期+时间 8

timestamp 日期+时间 4 比较容易受时区、语法模式、版本的影响,更能反映当前时区的真实时间

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值