MySQL命令行操作及表约束

  • 一、命令行操作MySQL
  • 1、登录数据库
  • 2、列出所有的数据库
  • 3、选择某个数据库(test)
  • 4、列出选定数据库的表
  • 5、描述某个表结构
  • 二、表约束
  • 1、NOT NULL(非空)
  • 2、UNIQUE KEY(唯一值)
  • 3、Primary Key(主键,简称PK)
  • 4、Foreign Key(外键,简称FK)


一、命令行操作MySQL

1、登录数据库

mysql -u root -p;

2、列出所有的数据库

show databases;

3、选择某个数据库(test)

use test;

4、列出选定数据库的表

show tables;

5、描述某个表结构

desc salesorder;

二、表约束

1、NOT NULL(非空)

1)定义:
设定NOT NULL ,非空的列,必须有值,值可以重复。
2)场景:
【名字】,姓名、性别、出生日期、课程名、客户名、商品名。
3)说明:
任何列都可以为NOT NULL。如果在SQL操作中将一个NULL赋值给某个有NOT NULL约束的列,那么MySQL会返回一个错误。

2、UNIQUE KEY(唯一值)

1)定义:
设定UNIQUE KEY 。唯一的列,该列不可以重复,可以不填(NULL),如果填了就不能重复。NULL不算重复。
2)场景:
【可有可无的唯一标识】,手机号、QQ号,Emaill,银行账户账号等。
3)说明:
如果将某个列设置为唯一,那么就不能在表中插入和这个列中已有值重复的行,也不能修改已有的列值使之与其他列值重复。

3、Primary Key(主键,简称PK)

1)定义:
PK = NOT NULL + UNIQUE;
一个表只能有一个主键,这个主键可能是1列,也可能是多列一起组成。
2)场景:
身份证号可以做主键;
银行卡+社保卡可以做主键。
3)说明:
主键是唯一的,相当于身份证号码,通过身份证号码只能找到一个人,即通过主键列只能找到一行数据,在创建表时,通常要有主键;
主键属于表对象,所有主键有一个名字,若没给主键指定名字,MySQL会自动分配一个唯一的名字。
4)注意:
主键一定是唯一的行标识,即每行的主键不会重复;
主键不允许为空;
系统会为主键默认的创建一个索引;
主键可以是一个或多个字段;
通常情况下,关系型数据库中每张表都会有主键。

4、Foreign Key(外键,简称FK)

1)定义:
外键是约束,约束了该列的内容。外键对应了另外表的主键;
外键的值,可空亦可非空。
2)说明:
外键约束是为数据库中某个与其他表(称作父表)有关系的表(称作子表)而定义的。外键的值必须事先出现在某个特定表的唯一键或者主键中。外键可包含一列或者多列,但是其所参考的键也必须 包含相同的列(一对一或多对多的关系)。外键也可以同一个表的主键相关联。如果没有其他的约束限制,外键也可以包含NULL值
3)特别说明:
一张表的外键关联字段通常情况下关联的是另一张表的主键;
一张表的外键关联字段必须填写外键表中存在的数据;
外键关联表的数据被引用后,通常不允许删除,如果一定要删除,可以级联删除引用数据;
外键字段允许为空;
外键字段可以为一个也可为多个。