Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >MySQL 字段操作

MySQL 字段操作

作者头像
技能锦囊
发布于 2020-04-15 08:14:21
发布于 2020-04-15 08:14:21
11.5K00
代码可运行
举报
文章被收录于专栏:MySQL 笔记MySQL 笔记
运行总次数:0
代码可运行

表字段是怎么插入并修改呢?

字段又有哪些约束条件?

看完本文,你能够优雅地设计一张有意义的表;

一、字段操作

1.添加字段 (add)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
alter table <表名> add 字段名 数据类型;

desc <表名>;
2.修改字段数据类型 (modify)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
alter table <表名> modify <字段名> <新数据类型> ;
3.字段重命名 (change)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#新字段名后要加上字段的数据类型,否则报错
alter table <表名> change <字段名> <新字段名> <字段类型> ;

#可用来修改字段数据类型
#也可以在修改数据类型后添加默认值或其它约束条件  
#可以在最后修改字段位置[first | after]
4 字段添加默认值 (set)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#添加默认值,字符串需要用引号
alter table <表名> alter 字段名 set default '默认值';
desc 表名;

#删除默认值 drop
alter table <表名> alter 字段名 drop default;
desc <表名>;
5.删除字段 (drop)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
alter table <表名> drop 字段名;
desc <表名>;

二、字段约束

约束是对字段中的数据进行限制,用于保证数据的完整性,从而符合该字段达到我们期望的效果,如果插入的数据不满足约束要求,数据库管理系统就会拒绝执行SQL 操作

常见的约束有

约束条件

含义

NOT NULL

约束字段值不能为空

DEFAULT

约束字段默认值

UNIQUE KEY

约束字段的值唯一

PRIMARY KEY

约束字段为主键,唯一标识

AUTO_INCREMENT

字段值自动增加

1. 非空约束 (not null)

非空约束即字段的数据不能为空;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
CREATE TABLE <表名>(字段名 数据类型 NOT NULL);

#修改数据类型时也可添加约束
2.默认约束(default)

为字段设置默认值

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#创建表的时候,添加默认约束
CREATE TABLE <表名>(字段名 数据类型 default '默认值');

#删除默认约束
alter table <表名> alter 字段名 drop default;
3. 主键约束(primary key)

主键约束的字段不能为空,不能重复

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#创建表的时候,添加主键;
CREATE TABLE <表名>(字段名 数据类型  PRIMARY KEY);

复合主键: 由多个字段组成的主键
CREATE TABLE <表名>( id int,
                    name char(20),
                    PRIMARY KEY(id,name));
#注意,复合主键中多个字段的数据不能完全相同且不能为空;

#删除主键
alter table <表名> drop primary key;
4. 唯一约束(Unique Key)

Unique Key 约束的字段,值唯一,允许为空,唯一约束可以确保一列或者多列不出现重复值;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#创建表时添加唯一约束
CREATE TABLE <表名>(字段 数据类型 UNIQUE);

#添加唯一约束 
ALTER TABLE <表名> ADD unique(字段名);

#删除约束       
 ALTER TABLE <表名> DROP INDEX 约束字段;
5.自增约束(AUTO_INCREMENT)

•字段必须是key ,比如primary key;•字段默认从1开始,默认步长为1;•字段在插入数据时可以指定为null值;(指定为null 即自动增长)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
CREATE TABLE <表名>(字段名 数据类型  primary key AUTO_INCREMENT);

总结

因为有字段约束条件,数据才更完整,更有价值;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#创建表时添加约束;
CREATE TABLE <表名>(字段名 数据类型 约束条件);

#提示:修改数据类型时也可以添加约束哦

by~

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

本文分享自 技能锦囊 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Django rest framework源码分析(3)----节流
添加节流 自定义节流的方法  限制60s内只能访问3次 (1)API文件夹下面新建throttle.py,代码如下: # utils/throttle.py from rest_framework.throttling import BaseThrottle import time VISIT_RECORD = {} #保存访问记录 class VisitThrottle(BaseThrottle): '''60s内只能访问3次''' def __init__(self):
zhang_derek
2018/04/11
1.1K0
Django rest framework源码分析(3)----节流
Django rest_framework 认证源码流程
dispatch根据请求方式的不同触发get/post/put/delete等方法
用户1214487
2022/03/26
4380
Django rest_framework 认证源码流程
Django rest framework源码分析(1)----认证
一、基础 1.1.安装 两种方式: github pip直接安装 pip install django-rest-framework 1.2.需要先了解的一些知识 理解下面两个知识点非常重要,django-rest-framework源码中到处都是基于CBV和面向对象的封装 (1)面向对象封装的两大特性 把同一类方法封装到类中 将数据封装到对象中 (2)CBV 基于反射实现根据请求方式不同,执行不同的方法 原理:url-->view方法-->dispatch方法(反射执行其它方法:GET/POST/P
zhang_derek
2018/04/11
2.2K0
Django rest framework源码分析(1)----认证
Django-REST-framework 权限管理源码分析
:fa-user: :fa-heart: :fa-user: 同认证一样,dispatch()作为入口,从self.initial(request, *args, **kwargs)进入initial()
JuneBao
2022/10/26
7910
drf之认证、权限、频率
新建一个自定义类,该类继承rest_framework.authentication中的BaseAuthentication 类,重写其中的authenticate 方法。将需要的认证逻辑写在里面。当认证通过是需要返回两个值,其中一个值最终给了Request 的user 。认证失败时,抛出异常:APIException或者AuthenticationFailed 。其中该方法必须重写,如不重写其中没有认证逻辑,则直接抛出异常。
仙人技术
2020/07/28
1K0
day94-认证组件&权限组件&访问评率限制
1.1.3 返回值返回两个参数,request.user 和 request.auth,即 user_obj 和 token
少年包青菜
2020/03/08
4940
Python进阶42-drf框架(四)
-多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。 -擅长Web集群架构与自动化运维,曾负责国内某大型金融公司运维工作。 -devops项目经理兼DBA。 -开发过一套自动化运维平台(功能如下): 1)整合了各个公有云API,自主创建云主机。 2)ELK自动化收集日志功能。 3)Saltstack自动化运维统一配置管理工具。 4)Git、Jenkins自动化代码上线及自动化测试平台。 5)堡垒机,连接Linux、Windows平台及日志审计。 6)SQL执行及审批流程。 7)慢查询日志分析web界面。
DriverZeng
2022/09/26
1.8K0
Python进阶42-drf框架(四)
rest_framework -- 认证
#####认证组件##### 一、认证是什么就不说了,某些网页必须是用户登陆之后,才能访问的,所以这时候就需要用上认证组件。 你不用rest_framework的认证组件也行,这种认证的话,完全可以自己写出来。 二、之前再写APIView的时候,那里提到过。 不记得在哪里的话,先找dispatch方法(APIView的记得),然后是self.initial(request, *args, **kwargs), 最后找到self.perform_authentication(re
py3study
2020/02/10
4700
rest_framework组件
认证组件 局部认证 在需要认证的视图类里加上authentication_classes = [认证组件1类名,认证组件2类名....] 示例如下: seralizers.py from rest_framework import serializers from app01 import models class PublishSerializers(serializers.ModelSerializer): class Meta: model = models.Publish
人生不如戏
2018/05/30
3510
drf-jwt认证组件、权限组件、频率组件的使用
在restframework中自带认证组件,而其自带的认证组件是如何认证校验的呢:
GH
2020/02/11
2.4K0
Django rest framework源码分析(2)----权限
添加权限 (1)API/utils文件夹下新建premission.py文件,代码如下: message是当没有权限时,提示的信息 # utils/permission.py class SVIPPremission(object): message = "必须是SVIP才能访问" def has_permission(self,request,view): if request.user.user_type != 3: return False
zhang_derek
2018/04/11
9550
Django rest framework源码分析(2)----权限
Django REST 框架详解 08 | 认证组件
APIView 的 dispatch 中使用 initial 方法实现初始化并进行三大认证,第一步就是认证组件
白墨石
2021/01/12
1.4K0
rest_framework框架的基本组件
快速实例 Quickstart 序列化 创建一个序列化类 简单使用 开发我们的Web API的第一件事是为我们的Web API提供一种将代码片段实例序列化和反序列化为诸如json之类的表示形式的方式。我们可以通过声明与Django forms非常相似的序列化器(serializers)来实现。 models部分: from django.db import models # Create your models here. class Book(models.Model): title=mod
阿强Wwlt
2018/07/09
9220
DjangoRestFramework,认证组件、权限组件、频率组件、url注册器、响应器、分页组件
    我们知道,我们不管路由怎么写的,对应的视图类怎么写的,都会走到dispatch方法,进行分发,
changxin7
2019/12/20
6610
DjangoRestFramework,认证组件、权限组件、频率组件、url注册器、响应器、分页组件
Django(62)自定义认证类「建议收藏」
如果我们不用使用drf那套认证规则,我们想自定义认证类,那么我们首先要知道,drf本身是如何定义认证规则的,也就是要查看它的源码是如何写的
全栈程序员站长
2022/09/19
6740
Django(62)自定义认证类「建议收藏」
DRF-认证权限频率
我们知道在APIView执行的过程中,在dispatch方法中走了三大认证self.initial(request, *args, **kwargs)
HammerZe
2022/05/09
6750
DRF-认证权限频率
Django Rest Framework
https://q1mi.github.io/Django-REST-framework-documentation/
vanguard
2020/07/07
2.5K0
从入门到"精通"Django REST Framework-(四)
APIView 是 Django REST Framework (DRF) 中提供的基础视图类,继承自 Django 的 View 类,但针对 RESTful API 进行了扩展。它支持以下功能:
rxg456
2025/02/27
2120
从入门到"精通"Django REST Framework-(四)
rest_framework自定义认证
rest_framework自定义认证,简单两步即可实现 下面是所有views urls models 的代码 #views.py from django.shortcuts import render from django.http import HttpResponse,JsonResponse from rest_framework.views import APIView from rest_framework.request import Request from rest_framewor
kirin
2020/06/11
3400
python_restframework
BaseThrottle (1) 取出访问者ip (2) 判断当前ip不在访问字典里,添加进去,并且直接返回True,表示第一次访问,在字典里,继续往下走 (3) 循环判断当前ip的列表,有值,并且当前时间减去列表的最后一个时间大于60s,把这种数据pop掉,这样列表中只有60s以内的访问时间, (4) 判断,当列表小于3,说明一分钟以内访问不足三次,把当前时间插入到列表第一个位置,返回True,顺利通过 (5) 当大于等于3,说明一分钟内访问超过三次,返回False验证失败 1、分发display def
py3study
2020/01/15
4090
相关推荐
Django rest framework源码分析(3)----节流
更多 >
交个朋友
加入[数据] 腾讯云技术交流站
获取数据实战干货 共享技术经验心得
加入数据技术工作实战群
获取实战干货 交流技术经验
加入[数据库] 腾讯云官方技术交流站
数据库问题秒解答 分享实践经验
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验