mysql default 怎么用_详解MySQL中default的使用

本文详细介绍了MySQL中字段约束的概念,包括NULL和NOTNULL修饰符,用于指定字段是否允许为空,以及DEFAULT修饰符如何设定字段的默认值。此外,还讲解了AUTO_INCREMENT修饰符在自增字段中的应用,如何为表创建唯一标识符。通过实例展示了如何创建和使用这些约束,帮助理解MySQL数据库设计的基本原则。
摘要由CSDN通过智能技术生成

NULL 和 NOT NULL 修饰符、DEFAULT 修饰符,AUTO_INCREMENT 修饰符。

NULL 和 NOT NULL 修饰符

可以在每个字段后面都加上这 NULL 或 NOT NULL 修饰符来指定该字段是否可以为空(NULL),

还是说必须填上数据 (NOT NULL)。MySQL 默认情况下指定字段为 NULL 修饰符,如果一个字段指定为NOT NULL,

MySQL 则不允许向该字段插入空值(这里面说的空值都为 NULL),因为这是 “规定”。

/*

创建好友表,其中id ,name ,pass都不能为空

*/

create table friends (

id int(3) not null,

name varchar(8) not null,

pass varchar(20) not null

);

/*

错误提示,id列不能为空

#1048 - Column 'id' cannot be null

*/

INSERT INTO friends

VALUES (

NULL , 'simaopig', 'simaopig'

);

但是在自增列和 TIMESTAMP 字段中,这个规则并不适用。

向这些字段中插入 NULL 值将会导致插入下一个自动增加的值或者当前的时间戳。

DEFAULT 修饰符

可以使用 DEFAULT 修饰符为字段设定一个默认值。

当插入记录时,您老人家忘记传该字段的值时,MySQL 会自动为您设置上该字段的默认值。

/*

创建im表,将name字段设置为默认值'QQ'

*/

create table im (

id int(3) not null,

name varchar(25) not null default 'QQ'

);

/*

插入数据,不传name字段的值,MySQL会为其设置默认值的

您运行的 SQL 语句已经成功运行了。

*/

INSERT INTO im( id, name ) VALUES ( 2, 'MSN' ) ;

INSERT INTO im( id ) VALUES ( 3 ) ;

SELECT * FROM im LIMIT 0 , 30;

/*

id name

2 MSN

3 QQ

*/

如果一个字段中没有指定 DEFAULT 修饰符,MySQL 会依据这个字段是 NULL 还是 NOT NULL 自动设置默认值。

如果指定字段可以为 NULL,则 MySQL 为其设置默认值为 NULL。

如果是 NOT NULL 字段,MySQL 对于数值类型插入 0,字符串类型插入空字符串,

时间戳类型插入当前日期和时间,ENUM 类型插入枚举组的第一条。

AUTO_INCREMENT 修饰符

AUTO_INCREMENT 修饰符只适用于 INT 字段,表明 MySQL 应该自动为该字段生成一个数

(每次在上一次生成的数值上面加 1)。对于主键(稍候介绍),这是非常有用的。

因为其允许开发者使用 MySQL 为每条记录创建唯一的标识符。

/*

您运行的 SQL 语句已经成功运行了。 ( 查询花费 0.0170 秒 )

*/

CREATE TABLE items(

id int( 5 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,

label varchar( 255 ) NOT NULL

);

/*

插入三条数据,不指定id,采用默认值,加上AUTO_INCREMENT

您运行的 SQL 语句已经成功运行了。

*/

insert into items(label) values ('xxx');

insert into items(label) values ('yyy');

insert into items(label) values ('zzz');

/*

全显示出来,看一下数据,注意看id的变化

*/

select * from items;

/*

id label

1 xxx

2 yyy

3 zzz

*/

MySQL 表中只能有一个 AUTO_INCREMENT 字段,而且这个字段必须被定义为键。

除了字段的约束,MySQL 也允许表级的约束,比如主键和外键、索引和惟一约束。

总结

以上所述是小编给大家介绍的MySQL中default的使用,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

好的,下面是详解mysql8.0.18在linux上安装与配置过程: 1. 下载MySQL 8.0.18的安装包 可以在MySQL的官网上下载MySQL 8.0.18的安装包,下载地址为:https://dev.mysql.com/downloads/mysql/8.0.html#downloads 2. 解压安装包 下载完成后,将安装包解压到指定目录使用以下命令: tar zxvf mysql-8.0.18-linux-glibc2.12-x86_64.tar.gz -C /usr/local 3. 创建MySQL用户和组 创建MySQL用户和组,使用以下命令: groupadd mysql useradd -r -g mysql -s /bin/false mysql 4. 安装MySQL 切换到MySQL所在的目录,使用以下命令安装MySQL: cd /usr/local/mysql-8.0.18-linux-glibc2.12-x86_64 ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql-8.0.18-linux-glibc2.12-x86_64/ --datadir=/usr/local/mysql-8.0.18-linux-glibc2.12-x86_64/data 5. 启动MySQL 启动MySQL使用以下命令: ./bin/mysqld_safe --user=mysql & 6. 设置MySQL密码 MySQL启动后,需要设置MySQL的root用户的密码,使用以下命令: ./bin/mysql_secure_installation 7. 配置MySQL 进入MySQL的配置文件my.cnf,使用以下命令: cd /etc vi my.cnf 将以下内容加入到my.cnf: [mysql] default-character-set=utf8mb4 [mysqld] port = 3306 datadir = /usr/local/mysql-8.0.18-linux-glibc2.12-x86_64/data socket = /tmp/mysql.sock default-time-zone = '+8:00' character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci 8. 重启MySQL 修改完my.cnf后,重启MySQL使用以下命令: systemctl restart mysqld 9. 登录MySQL 使用以下命令登录MySQL: ./bin/mysql -u root -p 至此,MySQL 8.0.18在linux上安装与配置完成。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值