DDL & DML小节

DDL:主要是对库和表 的管理(创建,删除,修改)

创建: crate database 库名;例如(CREATE DATABASE studnet;):

 修改库名(一般不会用)库的修改:alter database xx character set xx;(一般不会用)

删除库:drop database if exists

DDL 对表的操作()

表的创建

表的创建:create table if not exists 表名(
列名 列的类型((长度)约束),
列名 列的类型((长度)约束),
列名 列的类型((长度)约束),
列名 列的类型((长度)约束),

表的修改
1列名:alter table 表名 change column 旧列名 新列名 DATETIME;
2修改列的类型和约束 :alter table 表名 modify column 列名 新类型 (first| after 字段名)
3添加列: alter table 表名 add column 新列名 列名类型(如int double);
4删除列: alter table 表名 drop column 列名;
5修改表名:alter table 表名 remove to 新表名;
总结:alter table 表名 add|drop|modify|change column。。。。

数据类型:整形 字符型 日期型

整形;tinyint(1字节),smallint (两个字节),mediuint(三个字节),int(四个字节),bigint(八个字节)

特点: 如果不设置无符号还是有符号,默认是有符号,如果是想设置无符号,需要添加unsigned 关键字
2:如果插入的数值超出了整形的范围,会报 out of range异常,并且插入临界值
3: 如果不设置长度,会有默认的长度
4:长度代表了显示的最大宽度,如果不够用0在左边填充,但必须搭配zerofill使用!

字符型

较短文本char varchar 较长文本 text blob

日期型

   

 常见约束

概念:代表一种限制,用于限制表中的数据,为了保证表中的数据 的准确和可靠性;

六大约束
not null(非空)该字段值不能为空必须填比如姓名啊学号啊
default:默认,用于保证该字段有默认值比如性别
primary key:主键,用于保证该字段具有唯一性,并且非空比如学号,员工编号等
unique:唯一,用于保证该字段的值具有唯一性,可以为空比如座位号
check:检查约束(mysql不支持加不加都没用 但是加上不报错)应用(性别年龄)
foreign key:外键,用于限制两个表的关系,用于保证该字段的值必须来自于主表的关联列的值

DML

概述:其实它就是对表里面的内容进行插入,修改删除;

 插入语法:1;insert into  +value (支持插入多行,支持子查询)  2:insert into+set 
例如;
        
        
        

 

 修改修改单表:update 表名1
set 列=新值,列=新值,。。。。3
where +筛选条件         2

修改多表分为两种了

update 表一 别名, 表二 别名 
set 列=值,。。。
where 连接条件 
and 筛选条件;
2
update 表1 别名 
inner |left|right join 表二 别名 
on 连接条件
set列=值

删除

删除单表

delete from 表名 where 筛选条件(单表的删除)

删除多表:92 语法
delete 别名  
from 表一 别名 表二别名  where 连接条件 and 筛选条件

99语法
delete 表一的别名 ,表二的别名
from 表一别名 inner|left、|right join 表二 别名 on 连接条件 where 筛选条件

删除方式二

方式二 truncate   
 语法 truncate table 表名;(删除表中所有的内容相当于清空)delete 可一加where truncate不可以,truncate效率高一点。

两个区别

truncate删除后,如果再插入,标识从一开始
delete删除后,如果在插入,标识从新点开始
2 delete 可以添加筛选条件 truncate不可以添加筛选条件
3:truncate 效率较高
4 truncate 没有返回值 delete可以返回受影响的行数
5 truncate 不可以回滚 delete可以

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值