文章目录
0 - 前言
本文是对【慕课网】平然老师【与MySQL零距离接触】系列课程的笔记
1 - 回顾
mysql默认端口号:3306
mysql超级用户:root
创建数据库:CREATE DATABASE
修改数据库:ALTER DATABASE
删除数据库:DROP DATABASE
2 - 数据类型
- 整型(INT)
- 浮点型(FLOAT、DOUBLE)[M,D]:M为数字总位数、D是小数点后面的位数
- 日期时间:YEAR TIME DATE DATETIME TIMESTAMP
- 字符型: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
当插入记录时,如果没有赋值,自动赋予默认值
为其插入记录: