数据库基础知识点(2)

xiaoxiao2021-02-28  100

表的约束

创建约束的目的:

约束条件都是针对表中字段进行限制,从而保证数据表中的数据正确性和唯一性

约束的条件:

PIMARY KEY(主键)、FOREIGN KEY(外键)、NOT NULL(非空)、UNIQUE(唯一)、DEFAULT(默认)

主键约束:它可以唯一标识表中的记录。

1、单字段主键

格式:字段名 数据类型 PRIMARY KEY

2、多字段主键

**格式:**PRIMARY KEY(字段名1,字段名2,….字段名n)

需要注意的是:每个数据表中最多只能有一个主键约束,定义为PRIMARY KEY的字段不能有重复值且不能为NULL值。

非空约束:指的是字段不能为NULL。 格式:字段名 数据类型 NOT NULL

需要注意的是:在同一个数据表中可以定义多个非空约束。

用于保证数据表中字段的唯一性,即不字段不能重复出现。

格式:字段名 数据类型 UNIQUE;

默认约束:给数据表中的字段指定默认值。

格式:字段名 数据类型 DEFAULT 默认值;

设置表的字段值(整数类型的字段)自动增加:使用AUTO_INCREMENT约束来实现。-AUTO_INCREMENT可以是任何整数类型。-默认从1开始自增

事例:

mysql> create table studentInfo( -> id int PRIMARY KEY , -> name varchar(20) NOT NULL, -> age int(11)); //创建学生信息表 设置id的约束为主键PIMARY KEY,name的约束为非空NOT NULL。

索引

索引的概念

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

1、普通索引2、唯一性索引3、全文索引4、单列索引5、多列索引6、空间索引

创建索引

创建索引的方式有三种,具体如下:

1、创建表的时候创建索引语法格式:

CREATE TABLE 表名 ( 字段名 数据类型[完整性约束条件], 字段名 数据类型[完整性约束条件], ...... 字段名 数据类型   [[UNIQUE|FULLTEXT|SPATIAL] INDEX|KEY [别名] (字段名1 [(长度)]) [ASC|DESC])] ); 关于上述语法的相关解释具体如下:UNIQUE:可选参数,表示唯一性约束FULLTEXT:可选参数,表示全文约束SPATIAL:可选参数,表示空间约束INDEX和KEY:用来表示字段的索引,二者选一即可别名:可选参数,表示创建的索引的名称字段名1:指定索引对应字段的名称长度:可选参数,用于表示索引的长度ASC和DESC:可选参数,其中,ASC表示升序排列,DESC表示降序排列

2、使用CREATE INDEX 语句在已经存在的表上创建索引语法格式:

CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX 索引名 ON 表名 (字段名 [(长度)] [ASC|DESC]); create unique index un_id on g1 (id asc);

3、使用ALTER TABLE语句在已经存在表上创建索引 (必须是空表)

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

4、删除索引 (必须是空表)

ALTER TABLE 表名 DROP INDEX 索引名 DROP INDEX 索引名 ON 表名;

事例:

mysql> create unique index stu_id on studentInfo(id asc); mysql> create fulltext index stu_name on studentInfo(name asc); //给学生信息表中的id 和 name添加索引。

表记录操作

添加数据(记录)

格式1:

insert into 表名 [(字段名1,字段名2,....)]values(值1,值2,...); 例如:insert into tb_name values(1001,'张三',16,95);

格式2:

insert into 表名 set 字段名1=值1,[字段名2=值2,字段名n=值n]; insert into tb_name set id=1001,name='张三';

记录删除

delete from 表名称 [where 字段名1=值1 and|or 字段名2=值2 and|or 字段名n=值n]; delete from tb_name where id=1002;(删除id=1002的数据)

记录查询

格式:select * from 表名称;

事例:

mysql> insert into studentInfo values(1019,'小李',22); mysql> insert into studentInfo values(1020,'小张',23); //给学生信息表添加一条数据 mysql> select * from studentInfo; //查询学生信息表中的记录 mysql> delete from studentInfo where id=1019; //删除id为1019的记录。
转载请注明原文地址: https://www.6miu.com/read-80821.html

最新回复(0)