MySQL数据库和表的基本操作(下)

MySQL数据库操作

———数据库和表的基本操作(二)

一:表的约束

1. 常见约束

约束条件说明
PRIMARY KEY主键约束 唯一标识
FOREIGN KEY外键约束
NOT NULL非空约束
UNIQUE唯一性约束
DEFAULT默认值约束,用于设置字段的默认值
AUTO_INCREMENT自增约束 整数类型自增长,默认从1开始·

2 .主键约束

  • 定义

    字段名 数据类型 FRIMARY LEY;
    
  • 单字段主键

    CREATE TABLE ex1(
        id int PRIMARY KEY,/*单字段主键约束*/
        _name varchar(20),
        grade float
    );
    
  • 多字段主键

    CREATE TABLE ex2(
        id INT,
        grade FLOAT,
        course_id INT,
        PRIMARY KEY(id,course_id)/*多字段主键约束*/
    );
    
  • 注意

    一个表中只能有一个主键约束,定义为PRIMARY KEY主键的字段不能重复也不能为空
    

3. 非空约束

  • 定义

    字段名 数据类型 NOT NULL;
    
  • 实例

    /*非空约束-字段值不能为空*/
    CREATE TABLE ex3(
        id INT PRIMARY KEY,
        _name VARCHAR(20) NOT NULL,/*非空约束*/
        grade FLOAT
    );
    

4. 唯一约束

  • 定义

    字段名 数据类型 UNIQUE;
    
  • 实例

    CREATE TABLE user_shop(
        id INT PRIMARY KEY,
        _name VARCHAR(20) UNIQUE/*唯一约束*/
    );
    

5. 默认约束

  • 定义

    字段名 数据类型 DEFAULT 默认值;
    
  • 实例

    CREATE TABLE ex4(
        id INT PRIMARY KEY,
        greade FLOAT DEFAULT 0/*默认值约束*/
    );
    

6. 自增约束

  • 定义

    字段名 数据类型 AUTO_INCREMENT;
    
  • 实例

    CREATE TABLE ex5(
        id INT PRIMARY KEY AUTO_INCREMENT,/*自增字段*/
        _name VARCHAR(20) UNIQUE NOT NULL
    );
    

二:索引(快速查找)

1. 概念

数据库的索引就好比新华字典的音序表,它是对数据库表中一列或多列的值进行排序后
的一种数据结构,其作用就是提高表中数据的查询速度。

2. 分类

名称定义说明
普通索引KEY 或者 INDEX基本索引类型
唯一性索引UNIQUE字段值必须唯一
全文索引FULL TEXT只能创建在CHAR,VARCHAR,TEXT类型字段上
单列索引单个字段创建的索引
多列素索引多个字段上创建的索引
空间索引SPATIAL只能创建在空间类型字段上

3. 创建索引

  • 创建表时创建索引

    CREATE TABLE 表名(
        字段名1 数据类型 [完整性约束条件],
        字段名2 数据类型 [完整性约束条件],
        字段名3 数据类型 [完整性约束条件],
        ......
        字段名n 数据类型 [完整性约束条件],
        [UNIQUE|FULLTEXT|SPATIAL] INDEX|KEY [别名] (字段名x [长度]) [ASC|DESC]
    );
    
  • 使用CREAT INDEX在已存在的表上创建索引

    CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX 索引名 ON 
    表名(字段名[(长度) [ASC|DESC]]);
    
  • 使用ALTER TABLE在已存在的表上创建索引

    ALTER TABLE 表名 ADD [UNIQUE|FULLTEXT|SPATIAL] 
    INDEX 索引名 字段名[(长度)] [ASC|DESC];
    
  • 提示

    ASC表示升序排列
    DESC 表示降序排列
    

4. 删除索引

  • 使用ALTER TABLE删除索引

    ALTER TABLE 表名 DROP INDEX 索引名|别名;
    
  • 使用DROP INDEX删除索引

    DROP INDEX 索引名|别名 ON 表名;
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值