首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL数据库(四):约束条件

安装环境: 操作系统版本:RHEL 6.5 版本:MYSQL 5.5 约束条件的作用: 限制如何给字段赋值,创建表的时候如果没有设置的话,就是mysql建表的默认设置包括表结构的后四列。...1、NULL 是否允许空值 在不设置的时候,默认允许字段值为空 mysql> desc yueshu; +-------+--------------------+------+-----+----...yueshu(age) values(null); Query OK, 1 row affected, 1 warning (0.00 sec) 查询字段的值 mysql> select * from...,缺省为NULL.向表中插入新的记录时,若不给字段赋值,就使用默认值给字段赋值。...建表时,没有设置字段的默认值,mysql吧字段的默认值设置为空 例子: mysql> create table yueshu(     -> name varchar(20) not null,

1.8K50

MySQL的字段类型_mysql数据库字段类型

前言: 要了解一个数据库,我们必须了解其支持的数据类型。MySQL 支持大量的字段类型,其中常用的也有很多。...浮点型主要有 float,double 两个,浮点型在数据库中存放的是近似值,例如float(6,3),如果插入一个数123.45678,实际数据库里存的是123.457,但总个数还以实际为准,即6位,...定点型字段类型有 DECIMAL 一个,主要用于存储有精度要求的小数。 DECIMAL 从 MySQL 5.1 引入,列的声明语法是 DECIMAL(M,D) 。...3.日期时间类型 MySQL支持的日期和时间类型有 YEAR 、TIME 、DATE 、DATETIME 、TIMESTAMP,几种类型比较如下: 涉及到日期和时间字段类型选择时,根据存储需求选择合适的类型即可...总结: 本篇文章主要介绍了 MySQL 中常用的字段类型,平时用到的字段类型基本都在这里了,以一张思维导图总结如下: 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

19.5K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL | 数据库表字段约束

    数据定义语言:字段约束 数据库的范式 构造数据库必须遵循一定的规则,这种规则就是范式 目前关系数据库有 6 种范式,一般情况下,只满足第三范式即可 第一范式:原子性 第一范式是数据库的基本要求,不满足这一点就不是关系数据库...第二范式:唯一性 数据表中的每条记录必须是唯一的。...MySQL 中的字段约束共有四种: 约束名称 关键字 描述 主键约束 PRIMARY KEY 字段值唯一,且不能为 NULL 非空约束 NOT NULL 字段值不能为 NULL 唯一约束 UNIQUE...字段值唯一,且可以为 NULL 外键约束 FOREIGN KEY 保持关联数据的逻辑性 外键约束是唯一不推荐使用的约束 主键约束 主键约束要求字段的值在全表必须唯一,而且不能为 NULL 值 建议主键一定要使用数据类型...,因为数字的检索速度会非常快 如果主键是数字类型,还可以设置自动增长 CREATE TABLE t_teacher( id INT PRIMARY KEY AUTO_INCREMENT, ... .

    5.7K10

    mysql学习

    MySQL相关操作 注意:在Windows系统中,关键词的大小写不会影响结果,但Linux系统需要区分大小写。...创建数据库 CREATE DATABASE 数据库名 charset utf8; 命名规则 可以由字⺟、数字、下划线 区分大小写 唯一性 不能使用关键字 不能单独使用数字 最长127位 数据库的相关操作...1 类型[(宽度) 约束条件], 字段名2 类型[(宽度) 约束条件], 字段名3 类型[(宽度) 约束条件] ); 在同⼀张表中,字段名是不能相同 宽度和约束条件可选、⾮必须,宽度指的就是字段⻓度约束...mysql> insert into t1(id) values -> (3), -> (4); mysql> insert into t1 values -> (1,'chao',18,'male'...标识该字段的值⾃动增⻓(整数类型,⽽且为主键) DEFAULT 为该字段设置默认值 UNSIGNED ⽆符号 ZEROFILL 使⽤0填充 唯一性约束 ⽅法⼀: create table

    52620

    MySQL数据库时区设置

    一、MySQL查看时区方法MySQL [(none)]> show variables like "%time_zone%";   #查看当前时区【注意】time_zone说明mysql使用system...推荐文章:Linux修改系统时区两种方式查看当前时间:MySQL [(none)]> select curtime();MySQL [(none)]> select now();二、MySQL修改时区方法官方参考文档...1、命令修改[无需重启]工具推荐:时区转换工具【注】需要修改成哪个地方的时区,只需要在工具中,找到地名前面的数字进行设置即可。...如:太平洋时间 (美国 &加拿大), 蒂华纳,前面数字是-8:00,即可按照以下方式设置:#修改美国太平洋时间MySQL [(none)]> set global time_zone = '-8:00'...首先配置文件中,控制时区的参数是:default-time_zone如果自建数据库可以直接修改以下配置文件:(云数据库,可以下载默认配置文件,修改后再上传即可。)

    9610

    第三章《数据表的基本操作》

    如果没有选择数据库,创建表时会报错; 创建表的语法: CREATE TABLE table_name ( 字段1 数据类型 [完整性约束条件], 字段2 数据类型 [完整性约束条件], …...完整性约束条件对字段进行限制,要求用户只能向字段中写入符合条件的数据,如果不满足约束条件数据库将不执行该数据的写入操作。...添加主键的语法: 1.在创建数据表的时候设置主键; (1)单字段主键; 语法:字段名 数据类型 PRIMARY KEY mysql> create table hahaha2 -> ( ->...2.5 唯一约束: 给字段的值添加唯一属性,添加之后,该字段不能插入重复的值 语法; 1.直接在创建表时,再要设置唯一性的字段数据类型后添加UNIQUE 2.在所有字段后面添加:[CONSTRAINT...2.6使用默认约束条件; 默认约束是给字段设置默认值,如果在插入数据的时候没有给改列赋值,则系统会自动将默认值插入到该列。 添加语法: 字段名 数据类型 DEFAULT(默认值) ?

    1.4K10

    第三章《数据表的基本操作》

    如果没有选择数据库,创建表时会报错; 创建表的语法: CREATE TABLE table_name ( 字段1 数据类型 [完整性约束条件], 字段2 数据类型 [完整性约束条件], …...完整性约束条件对字段进行限制,要求用户只能向字段中写入符合条件的数据,如果不满足约束条件数据库将不执行该数据的写入操作。...添加主键的语法: 1.在创建数据表的时候设置主键; (1)单字段主键; 语法:字段名 数据类型 PRIMARY KEY mysql> create table hahaha2 -> ( ->...字段名 数据类型 NOT NULL 2.5 唯一约束: 给字段的值添加唯一属性,添加之后,该字段不能插入重复的值 语法; 1.直接在创建表时,再要设置唯一性的字段数据类型后添加UNIQUE...2.在所有字段后面添加:[CONSTRAINT 约束名] UNIQUE (字段); 2.6使用默认约束条件; 默认约束是给字段设置默认值,如果在插入数据的时候没有给改列赋值,则系统会自动将默认值插入到该列

    1.2K10

    MYSQL数据库设计之字段选择原则

    今天给大家介绍一下数据库设计过程中字段的选择原则,也就是什么时候用int、什么时候用varchar、什么时候用char等等之类的。...如果想要全面的了解的话,大家可以去看高性能MYSQL这一本书籍,里面有一章节介绍的特别全面,基本涉及MYSQL中全部的字段的介绍。...在数据库设计过程中我们要本着够用的原则,如果一味的把数据字段范围设为最大或者默认值的话,会导致存储空间大量的浪费。...但是不管使用的是哪种字段来进行存储,都不要把字段的初始长度设置为最大化,应该是根据业务需求来存储最合适的长度字段。...在MYSQL5,5以后,varchar(x)x中范其实是存储字段的长度范围,就是一个字符代表一个长度,不管这个字符是汉子还是字符都算是一个长度单位。

    4.1K80

    MySql从入门到放弃(二)

    一、登录数据库 (1) 简单模式 C:\Users\xlg>mysql -uroot -p Enter password: ****** (2) 标准模式 C:\Users\xlg>mysql -h127.0.0.1...set utf8; (9) 修改表中字段的字符编码 alter table 表名modify 字段名 字段类型约束条件 character set utf8; (10) 删除库/表 drop database...\q exit quit 注意: MySQL命令以英文的分号作为结束 SQL命令不区分大小写 在进入到一个数据库中在进入到另外一个的时候 不需要退出数据库 而是使用use再次进行数据库的切换 如果创建的...MySQL库编码错误的 则表和字段都为库的编码 当将库编码改为utf8 则表和字段依然没有改变 那么需要继续修改表和字段 所以在创建的时候注意库的编码 更改默认创建库字符编码 C:\ProgramData..." windows下表名库名不区分大小写 Linux下严格区分 MySQL数据库的名称具有唯一性 每个库中的表的名称也具有唯一性(库名或者一个库中的表名不要出现相同的名称) 当在输入命令的时候输入完以后

    84800

    MySQL设置数据库为只读

    前言: 默认情况下,我们的 MySQL 实例是可读写的。但有些情况下,我们可以将整个实例设置为只读状态,比如做迁移维护的时候或者将从库设为只读。本篇文章我们来看下 MySQL 设置只读相关知识。...read lock 也可将数据库设置为只读状态,那么二者有什么区别呢?...执行此命令会给数据库加全局读锁,使得数据库处于只读状态,以下语句会被阻塞:数据更新语句(增删改)、数据定义语句(建表、修改表结构等)和更新类事务的提交语句。...以个人数据库运维经验来讲,一般只有从库需要设置只读状态,从库端建议开启 read_only 或 super_read_only,避免人为写入。...总结: 本篇文章主要介绍了 MySQL 只读状态相关知识,其实除了从库外,其余实例很少设置全局只读,只是遇到某种需求的情况下需要将数据库设为只读状态,写本篇文章的目的也是遇到此类需求时,可以有个参考。

    7.7K10

    Mysql数据库设置主从同步

    服务器配置: vim /etc/my.cnf #先看下原来的配置有没以下设置,有的话修改下就行了[mysqld]server-id=120log-bin=/var/lib/mysql/mysql-bin...GRANT OPTION; #更新数据库权限mysql>flush privileges; 锁定所有表(防止数据库状态值变化,锁定后,这时候只能读,不能写,写请求会在解锁后执行) mysql>  FLUSH...# 启用二进制日志binlog-do-db=sakzss #指定数据库,如果不指定就是全部数据库 重启服务器: service mysqld restart # centos6重启mysql 设置同步源...mysql数据库同步验证 主从数据库设置工作已经完成,可以在master新建数据库和表,插入和修改数据,查看slave是否获得同步,测试一下是否成功。...一般不成功有以下几个原因: 1.server-id 设置了一样,默认都是1,要设置不一样 2.主数据库防火墙没设置允许远程访问3306端口 3.没锁表再记录MASTER_LOG_FILE、MASTER_LOG_POS

    11.1K00

    MySQL 数据库设置远程权限

    设置访问单个数据库权限 设置用户名为 root,密码为空,可以访问数据库 test mysql>grant all privileges on test.* to 'root'@'%'; 设置访问全部数据库权限...设置用户名为 root,密码为空,可以访问所有数据库 mysql>grant all privileges on *.* to 'root'@'%'; 设置指定用户名访问权限 指定用户名为 liuhui...,密码为空,可以访问所有数据库 mysql>grant all privileges on *.* to 'liuhui'@'%'; 设置密码访问权限 设置用户名为 liuhui,密码为 liuhui,...可以访问所有数据库 mysql>grant all privileges on *.* to 'liuhui'@'%' IDENTIFIED BY 'liuhui'; 设置指定可访问主机权限 设置用户名为...liuhui,密码为 liuhui,可以访问所有数据库,只有 10.1.1.1 这台机器有权限访问 mysql>grant all privileges on *.* to 'liuhui'@'10.1.1.1

    7.9K20
    领券