【3】 MySQL数据表操作【创建/查看/插入记录/查找记录】与约束【自动编号/主键/唯一约束/默认约束】

0 - 前言

本文是对【慕课网】平然老师【与MySQL零距离接触】系列课程的笔记

1 - 回顾

mysql默认端口号:3306

mysql超级用户:root

创建数据库:CREATE DATABASE

修改数据库:ALTER DATABASE

删除数据库:DROP DATABASE

2 - 数据类型

  1. 整型(INT)
  2. 浮点型(FLOAT、DOUBLE)[M,D]:M为数字总位数、D是小数点后面的位数
  3. 日期时间:YEAR TIME DATE DATETIME TIMESTAMP
  4. 字符型:CHAR

3 - 数据表操作

3-1 创建数据表

首先要打开数据库,命令:

USE 数据库名称;

打开数据库后,查看当前数据库信息:

SELECT DATABASE();

创建数据表:

CREATE TABLE [IF NOT EXISTS] table_name (
column_name1 data_type1, 
column_name2 data_type2,
...);

在这里插入图片描述

3-2 查看数据表

SHOW TABLES [FROM db_name] [LIKE 'pattern' | WHERE expr]

在这里插入图片描述

[FROM db_name]表示不仅可以查看当前数据库下的数据表,还可以查看指定数据库中的数据表;查询结束后并不会改变当前数据库

查看数据表结构

SHOW COLUMNS FROM tbl_name;

在这里插入图片描述

3 - 3 记录的插入与查找

插入记录

INSERT [INTO] tbl_name [(col_name, ...) VALUES(val, ...)]

省略列名的情况下,必须为这条记录中的所有列都赋值

在这里插入图片描述

缺省某列赋值需要指明赋值的是哪几列:

在这里插入图片描述

查找记录

SELECT expr,...FROM tbl_name

想要显示全部记录:SELECT * FROM tbl_name;

在这里插入图片描述

3 - 4 NULL与NOT NULL

在新建table时,允许设置**字段(即变量)**为NULL/NOT NULL,对应该字段是否可以传入空值。示例如下,对于已经设置为NOT NULL的字段,不能传入NULL:

在这里插入图片描述

4 - 记录操作

4 - 1 自动编号 防止重复纪录

使用关键字AUTO_INCREMENT完成自动编号,注意事项如下:

  • 自动编号必须与数值型(可以是整型/浮点型)主键组合使用,浮点型主键小数位数必须为0
  • 默认起始值为1,每次增量为1

在这里插入图片描述

当字段设置了自动编号以后,不需要为当前字段赋值,为上面新建的table tb3插入一条记录:

在这里插入图片描述

4 - 2 主键约束 PRIMARY KEY

每张table只能有一个主键,主键自动为NOT NULL

主键可以保证记录的唯一性

4 - 3 唯一约束 UNIQUE KEY

UNIQUE KEY与PRIMARY KEY的相同之处在于:

  • 都能保证记录的唯一性

它们的不同之处在于:

  • UNIQUE KEY 可以为NULL(但是只能有一个)
  • 一张table只能有一个主键,但是可以有多个唯一约束

在这里插入图片描述

设置了unique key的字段不能存在重复的测试如下:

在这里插入图片描述

4 - 4 默认约束 DEFAULT

当插入记录时,如果没有赋值,自动赋予默认值

在这里插入图片描述

为其插入记录:

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值