MySQL-关于表的基本操作

创建数据表

创建数据表

mysql> CREATE TABLE tb_emp1
    -> (
    -> id INT(11),
    -> name VARCHAR(26),
    -> deptid INT(11),
    -> salary FLOAT
    -> );

使用主键约束

定义: 主键约束要求主键列的数据唯一,并且不能为空。

单字段主键

1. 在定义列的同时指定主键

mysql> CREATE TABLE tb_emp2
    -> (
    -> id INT(11) PRIMARY KEY,
    -> name VARCHAR(25),
    -> deptid INT(11),
    -> salary FLOAT
    -> );

2. 在定义完所有列后指定主键

mysql> CREATE TABLE tb_emp3
    -> (
    -> id INT(11),
    -> name VARCHAR(25),
    -> deptid INT(11),
    -> salary FLOAT,
    -> PRIMARY KEY(id)
    -> );
多字段联合主键
mysql> CREATE TABLE tb_emp4
    -> (
    -> name VARCHAR(25),
    -> deptid INT(11),
    -> salary FLOAT,
    -> PRIMARY KEY(name,deptid)
    -> );

使用外键约束

定义: 外键是表中的一个字段,它可以不是本表中的主键,但对应另外一个表的主键。外键的作用是保证数据引用的完整性。定义外键后,不允许删除在另外一个表中具有关联关系的行。

1. 定义主表,使用主键约束

mysql> CREATE TABLE tb_dept1
    -> (
    -> id INT(11) PRIMARY KEY,
    -> name VARCHAR(22) NOT NULL,
    -> localtion VARCHAR(50)
    -> );

2. 定义从表,使用外键约束

mysql> CREATE TABLE tb_emp5
    -> (
    -> id INT(11) PRIMARY KEY,
    -> name VARCHAR(25),
    -> deptid INT(11),
    -> salary FLOAT,
    -> CONSTRAINT fk_emp_dept1 FOREIGN KEY(deptid) REFERENCES tb_dept1(id)
    -> );

使用非空约束

定义: 非空约束是指字段的值不能为空。
使用非空约束创建表

mysql> CREATE TABLE tb_emp6
    -> (
    -> id INT(11) PRIMARY KEY,
    -> name VARCHAR(25) NOT NULL,
    -> deptid INT(11),
    -> salary FLOAT
    -> );

使用唯一性约束

定义: 唯一性约束要求该列的值不能重复,允许有空值,但只能出现一个空值。
1. 在定义列的同时指定唯一约束

mysql> CREATE TABLE tb_dept2
    -> (
    -> id INT(11) PRIMARY KEY,
    -> name VARCHAR(25) UNIQUE,
    -> location VARCHAR(50)
    -> );

2. 在定义完所有列后指定唯一约束

mysql> CREATE TABLE tb_dept3
   -> (
   -> id INT(11),
   -> name VARCHAR(25),
   -> location VARCHAR(25),
   -> PRIMARY KEY(id),
   -> CONSTRAINT STH UNIQUE(name)
   -> );

使用默认约束

定义: 默认约束是指定某列的默认值,若插入一条记录时没有为这个字段赋值,则这个字段使用默认值。
使用默认约束创建表

mysql> CREATE TABLE tb_emp7
    -> (
    -> id INT(11) PRIMARY KEY,
    -> name VARCHAR(25),
    -> deptid INT(11) DEFAULT 0001,
    -> salary FLOAT
    -> );

设置表的属性值自动增加

定义: 当表每新增一条数据时,设置为自动增加的字段都会自动增加相应的值,默认加1。
创建自增长的表

mysql> CREATE TABLE tb_emp8
    -> (
    -> id INT(11) PRIMARY KEY AUTO_INCREMENT,
    -> name VARCHAR(25) NOT NULL,
    -> deptid INT(11),
    -> salary FLOAT
    -> );
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值