首页 > 数据库 >mysql -约束合集笔记

mysql -约束合集笔记

时间:2024-04-02 09:13:38浏览次数:32  
标签:varchar -- 数据类型 userid 笔记 约束 mysql table 合集

SQL创建数据库
create database school
USE school  #(数据库名)
创建数据库表: 
create table students(
userid INT NOT NULL PRIMARY key ,
lastname varchar(255),
firstname varchar(255)
)#创建student 数据库表且设置userid 为主键)
SQL
约束 :
查看某个表已有的约束:
#information_schema数据库名(系统库)
#table_constraints表名称(专门存储各个表的约束)
SELECT * FROM information_schema.table_constraints
WHERE table_name = '表名称'; 
1. NOT NULL 非空约束,规定某个字段不能为空(在创建表的时候,可以强制不接受空值)
(空字符不等于null ,0也不等于null
1.1 --创建表 lastname varchar(25) NOT NULL 
1.2 --建表后 ALTER table 表名称 MODIFY 字段名 数据类型 not NULL 
1.3 --删除非空约束 alter table 表名称 MODIFY 字段名 数据类型 NULL (也可不加)
2. UNIQUE (约束唯一标识数据库的每条记录)
2.1 --创建表 userid int not null UNIQUE 
                        userid INT not null UNIQUE key 
                        CONSTRAINT 约束名 unique(字段名) 
                        例如: 复合唯一约束:create table students(
                        userid INT,last_name varchar(255),first_name varchar(255),CONSTRAINT uk_userid_lname unique(userid,last_name))
2.2 --建表后 方法一:(ALTER TABLE students add UNIQUE (userid))
                        方法二: alter table students modify 字段名 字段类型 UNIQUE : 例如: alter TABLE students MODIFY userid int unique ;
2.3 删除唯一约束: alter table students DROP INDEX uk_userid_lanme (删除唯一约束只能通过删除唯一索引的方式删除)
                                补充: 可以通过show    index FROM 表名;查看表的索引 
3. PRIMARY KEY 主键(非空且唯一)约束 --一个表最多只能有一个主键约束,不需要自己命名
3.1 userid int not null primary key --创建表
3.2 create table stu1(id INT PRIMARY KEY auto_increment, name varchar(25)); ##列级约束
3.3 create table stu2(id int not null auto_increment, name varchar(255),pwd varchar(255),CONSTRAINT stu2_id_pwd PRIMARY KEY(id)) #表级约束 
3.4 --建表后增加主键约束: alter table 表名 add primary key (字段名)
4. FOREIGN KEY 外键约束。--限定某个表的某个字段的饮用完整性
        主表(父表):被引用的表,被参考的表; 从表(子表);引用别人的表,参考别人的表
        create table 主表名称(
        字段1 数据类型 primary key,
        字段2 数据类型
        );
        create table 从表名称(
        字段1 数据类型 primary key,
        字段2 数据类型,
        [CONSTRAINT <外键约束名称>] FOREIGN KEY(从表的某个字段) references 主表名(被参考字段)
        );
#(从表的某个字段)的数据类型必须与主表名(被参考字段)的数据类型一致,逻辑意义也一样
#(从表的某个字段)的字段名可以与主表名(被参考字段)的字段名一样,也可以不一样
-- FOREIGN KEY: 在表级指定子表中的列
-- REFERENCES: 标示在父表中的列

 

标签:varchar,--,数据类型,userid,笔记,约束,mysql,table,合集
From: https://www.cnblogs.com/clairedandan/p/18109799

相关文章

  • 【附源码】JAVA计算机毕业设计汪汪喵宠物寄养中心系统设计与开发(源码+mysql+文档)
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:随着社会的发展和人们生活水平的提高,宠物已经成为越来越多家庭的重要成员。人们对宠物的关爱和投入也越来越多,这导致了宠物服务行业的迅速发展。其中,宠......
  • 【附源码】JAVA计算机毕业设计网上扶贫农产品销售系统(源码+mysql+文档)
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义随着互联网技术的迅速发展,传统的农产品销售模式已经不能满足现代消费者的需求。尤其是在扶贫领域,由于地理位置偏远、信息不对称等因素,贫困地区的农产品往往难以打......
  • 【附源码】JAVA计算机毕业设计网络安全知识学习系统(源码+mysql+文档)
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:在信息技术飞速发展的今天,网络安全已经成为社会关注的热点问题。随着网络应用的普及和互联网技术的不断进步,网络攻击、数据泄露、恶意软件等安全威胁日......
  • 【附源码】JAVA计算机毕业设计网上购物系统(源码+mysql+文档)
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:随着互联网技术的飞速发展,电子商务已经成为现代商业交易中不可或缺的一部分。网上购物系统作为电子商务平台的典型代表,以其便捷性、高效性和丰富的商品......
  • 【附源码】JAVA计算机毕业设计网上购物中心(源码+mysql+文档)
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:随着互联网技术的飞速发展,电子商务已成为现代社会中不可或缺的一部分。网络购物因其便捷性、高效性和多样性,受到了广大消费者的喜爱。传统的购物方式需......
  • 【附源码】JAVA计算机毕业设计网上花店系统(源码+mysql+文档)
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:随着互联网技术的飞速发展,电子商务已经成为现代社会中一个重要的商业活动形式。网络购物作为电子商务的重要组成部分,以其方便快捷的特点深受广大消费者......
  • 【附源码】JAVA计算机毕业设计网上图书销售系统(源码+mysql+文档)
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:随着互联网技术的飞速发展,电子商务已经成为现代社会中不可或缺的一部分。在线购物系统因其方便快捷的特点被广大消费者接受和喜爱。特别是在图书行业,网......
  • 【InternLM实战营---第二节课笔记】
    一、本期课程内容概述本节课的主讲老师是角色扮演SIG小组长任宇鹏。教学内容主要包括以下四个部分:部署InternLM2-Chat-1.8B模型进行智能对话部署实战营优秀作品八戒-Chat-1.8B模型通过InternLM2-Chat-7B运行Lagent智能体Demo实践部署浦语·灵笔2模型二、学习......
  • 【专题】2024年中国企业数智化转型市场研究报告合集PDF分享(附原数据表)
    原文链接:https://tecdat.cn/?p=35565原文出处:拓端数据部落公众号数字经济正在全球范围内崭露头角,成为驱动经济增长的重要引擎。随着中国经济的转型升级,数字经济以其创新引领和高效便捷的特性,成为推动经济转型升级的核心动力。为了加快数字经济的步伐,政府正不断加大对数字基础设......
  • MySQL基础笔记-第九课
    DDL语句操作笔记在数据库管理中,DDL(DataDefinitionLanguage,数据定义语言)是用于定义和修改数据库结构的语言。本节课我们将深入了解DDL语句中关于表结构修改的几种常见操作,包括:添加字段、修改字段、删除字段和修改表名。添加字段向表中添加字段的操作使用ALTERTABLE语句......