MySql基础学习-Sql约束

1.主键约束(PRIMARY KEY)

  主键 (PRIMARY KEY)是用于约束表中的一行,作为这一行的唯一标识符,在一张表中通过主键就能准确定位到一行,因此主键十分重要。主键不能有重复且不能为空。

一个表只能有一个主键,可以是单字段的主键,也可以是多字段的联合主键,根据实际场景进行选择.

2.外键约束

  外键 (FOREIGN KEY) 既能确保数据完整性,也能表现表之间的关系。一个表可以有多个外键,每个外键必须 REFERENCES (参考) 另一个表的主键,被外键约束的列,取值必须在它参考的列中有对应值。

注意的是,有外键约束时,删除数据比较麻烦,需要先将关联外键的表数据删除,然后再删除本表.

3.非空约束

  非空约束 (NOT NULL),听名字就能理解,被非空约束的列,在插入值时必须非空。

4.默认约束

  默认值约束 (DEFAULT) 规定,当有 DEFAULT 约束的列,插入数据为空时,将使用默认值。

5.唯一约束

  唯一约束 (UNIQUE) 比较简单,它规定一张表中指定的一列的值必须不能有重复值,即这一列每个值都是唯一的。

补充个知识点:

SQL的数据类型

http://www.w3school.com.cn/sql/sql_datatypes.asp

http://www.cnblogs.com/ray-wong/p/3792515.html

时间: 2024-11-05 22:49:43

MySql基础学习-Sql约束的相关文章

MySQL基础学习之数据查询

一般查询 SELECT * FROM 表名 SELECT 属性名  FROM  表名 条件查询 SELECT 属性名 FROM 表名  WHERE 条件表达式 查询数据值1,数据值2的表单 SELECT *  FROM  表名  WHERE  属性名 [NOT] IN(数据值1,数据值2....) 查询数值1,数据2的表单 SELECT *  FROM  表名  WHERE  属性=值  AND 属性1=值1 查询数值1到数值2之间的表单 SELECT *  FROM  表名  WHERE  属

MySQL基础学习之函数

数学函数 绝对值      abs() 圆周率      PI() 平方根 sqrt() 模除取余   mod(被除数,除数) 随机数      rand() 四舍五入    round(数字) 次方         pow(5,2) e为底的指数函数  exp(数字) 字符串函数 字符长度       length(字符) 字符连接       concat(字符1,字符2) 带符号的字符连接    concat_ws('-','su','zhou') 字符插入      insert('su

MySQL基础学习之数据表

查看数据表 SHOW TABLE; 查看数据表详细结构 SHOW CREATE TABLE 表名\G; 创建数据表 CREATE TABLE 表名(数据名 类型,数据名1  类型2); CREATE TABLE department ( d_id INT(10) , d_name VARCHAR(20) , function VARCHAR(20) , address VARCHAR(30) ); 删除数据表 DROP TABLE 表名; 修改数据表 修改数据表名        ALTER TA

MySQL基础学习总结

1.MySQL基础概念 mysql逻辑架构如下: 每个客户端连接都会在服务器中拥有一个线程,这个连接的查询只会在这个单独的线程中执行. MySQL是分层的架构.上层是服务器层的服务和查询执行引擎,下层是存储引擎.虽然有很多不同作用的插件API,但存储引擎API还是最重要的.如果能理解MySQL在存储引擎和服务层之间处理查询时如何通过API来回交互,就能抓住MySQL的核心基础架构的精髓. 数据库系统实现了各种死锁检测和死锁超时机制,InnoDB目前处理死锁的机制是,将持有最少行级排它锁的事务进行

MySQL学习-SQL约束

约束分类 主键:PRIMARY KEY用于唯一标识表中的一行,不可重复.e.g.:id INT(10) PRIMARY KEY 默认值:DEFAULT插入时,若没有指定该列的值,则为DEFAULT指定的值.e.g.:age INT(10) DEFAULT10 唯一:UNIQUE一张表中的指定列,不可以有重复值 外键:FOREIGN KEY保持表的完整性,并体现表中的关系.一个表可以有多个外键,每个外键必须references(参考)另一个表的主键,被外键约束的列的值,必须在其参考的列中有对应值

MySQL基础学习(二) 常用SQL命令

一. 1. select version();  查看数据库版本 2. select user(); 查看当前用户 3. select now(); 查看当前时间 4. show databases; 列举所有数据库实例 5. select database();  查看当前数据库 6. use db_name;  选择某个数据库 7. show tables; 查看当前数据库下得所有表 二. 权限类

MYSQL基础加固——SQL的介绍及MySQL的安装

2.1 数据库和 SQL 概念 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它的产生距今已有六十多年.随着信息技术和市场的发展,数据库变得无处不在:它在电子商务.银行系统等众多领域都被广泛使用,且成为其系统的重要组成部分. 数据库用于记录数据,使用数据库记录数据可以表现出各种数据间的联系,也可以很方便地对所记录的数据进行增.删.改.查等操作. 结构化查询语言(Structured Query Language)简称 SQL,是上世纪 70 年代由 IBM 公司开发,用于

MySQL基础学习(1)

简介 ? ? ? ? MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一. 基础用法 ? ? ? ? 略过MySQL 的安装部署,直接学习如何使用MySQL数据库 1.MySQL 连接 命令提示符连接:mysql -u root -p 2.创建数据库 CREATE DATABASE 数据库名; 例如:CREATE DATABASE myba

mysql基础学习

目录 安装mysql服务器 查看系统版本 开始安装mysql 查看是否安装成功 启动mysql mysql学习 DDL 定义语言 (CREATE/DROP/ALTER) DML 操作语言(INSERT/UPDATE/DELETE) DQL 查询语言(SELECT) DCL 控制语言(GRANT/REVOKE/COMMIT/ROLLBACK) 1.安装mysql服务器 1.1 查看系统版本 [email protected]:~$ cat /etc/issue Ubuntu 16.10 \n \l