mySQL初学者需要掌握的【数据库与表的基本操作】
阅读原文时间:2023年07月08日阅读:3

本内容会持续更新的哦!
注:“字段”=“列”,"记录’’=“行”

文章目录

一:数据库的基本操作

二.数据表的基本操作

1.创建与查看数据表

2.修改数据表

在 MySQL 中, 修改数据表的操作都是使用 ALTER TABLE 语句。

全部语法:
ALTER TABLE 旧表名 RENAME TO 新表名; //1.修改表名
rename table 旧表名 to 新表名; //1.修改表名
ALTER TABLE 表名 change 旧字段名 新字段名 新数据类型; //2.修改列名
ALTER TABLE 表名 MODIFY 字段名  新数据类型; //3.修改字段的数据类型
ALTER TABLE 表名 ADD 字段名 数据类型  [约束条件][FIRST|AFTER 已存在字段名] ; //4.增加列
ALTER TABLE 表名 DROP 字段名; //5.删除列
ALTER TABLE 表名 MODIFY 字段名1 数据类型 FIRST|[AFTER 字段名2]; //6.修改字段的排列位置
DROP TABLE 表名; //7.删除没有关联关系的数据表
ALTER TABLE 表名 CHARACTER SET utf8; //8.修改表的字符集编码

示例:

1、 修改表名

两种方式:

2、 修改字段名

注意:新数据类型不能为空,即使新字段与旧字段的数据类 型相同,也必须将新数据类型设置为与原来一样的数据类型。

3.修改字段的数据类型

4、 添加字段

有两个可选参数:“FIRST"和"AFTER”
"FIRST"即:用于将新添加的字段设置 为表的第一个字段
"AFTER"即:用于将新添加的字段添加到指定的“已存在字段名”的后 面。

5、删除字段

6、修改字段的排列位置

7.删除数据表

三.表的约束

为了防止数据表中插入错误的数据,在 MySQL 中,定义了一些维护数据库完整性的规则,即表的约束。

1.主键约束

注意:要保证主键字段里的值非空且唯一

语法:
//添加单字段主键
CREATE TABLE 表名(
id INT(10) PRIMARY KEY,
name VARCHAR(20));
//添加多字段主键
CREATE TABLE 表名(
id INT(10),
name VARCHAR(20),
PRIMARY KEY(id,name)
);
 //另一种方法添加主键
ALTER TABLE example01  ADD primary key(id) ;
//去除主键
ALTER TABLE example01  DROP primary key;

2.非空约束

语法:
CREATE TABLE 表名(
id INT(10) PRIMARY KEY,
name VARCHAR(20) NOT NULL
);

3.唯一约束

语法:
//为字段增加唯一约束方法1
CREATE TABLE 表名(
id INT(10) UNIQUE,
name VARCHAR(20) NOT NULL
);
//为字段增加唯一约束方法2
ALTER TABLE example05  ADD UNIQUE (stu_id);
//去除唯一约束
ALTER TABLE example05  drop index stu_id;

4.默认约束

语法:
CREATE TABLE 表名(
id INT(10) PRIMARY KEY,
name VARCHAR(20) ,
position VARCHAR(20) DEFAULT '实习生'
);

四.设置表的字段值自动增加

每次添加记录字段值都会从原来的值上加1,且该字段必须为主键

语法:
CREATE TABLE 表名(
id INT(10) PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20)
);

五.索引

(1)索引的概念

数据库的索引好比新华字典的音序表,它是对数据库表中一列或多列的值进行排序后的一种结构,其作用就是提高表中数据的查询速度。
索引分类:普通索引 唯一性索引 全文索引 单列索引 多列索引 空间索引

(2)创建索引

一、创建表的时候创建索引

语法: CREATE TABLE 表名( 字段名 数据类型[完整性约束条件], 字段名 数据类型[完整性约束条件], ..... 字段名 数据类型 [UNIQUE|FULLTEXT|SPATIAL] INDEX|KEY [索引名] (字段名 1 [(长度)]) [ASC|DESC]) );

1、创建普通索引

普通索引是可以由 KEYINDEX 定义的索引,它是 MySQL 中的基本索引类型,可以创建在任何数据类型中,其值是否唯一和非空由字段本身的约束条件所决定。

2、创建唯一性索引

唯一性索引是由 UNIQUE 定义的索引,该索引所在字段的值必须是唯一的。
ASC 和 DESC:可选参数,ASC 表示升序排列,DESC 表示降序排列

3、创建全文索引

全文索引是由 FULLTEXT 定义的索引,它只能创建在 CHAR、VARCHAR 或 TEXT 类型的字段上, 而且,现在只有 MyISAM 存储引擎支持全文索引。

4、创建单列索引

即:在表中单个字段上创建索引,以上示例皆为单列索引

5、创建多列索引

多列索引指的是在表中多个字段上创建索引,只有在查询条件中使用了这些字段中的第一个字段时, 该索引才会被使用。

6、创建空间索引

空间索引是由 SPATIAL 定义的索引,它只能创建在空间数据类型的字段上。
MySQL中的空间数据类型有 4 种 : GEOMETRY、POINT、LINESTRING 和 POLYGON。
注意: 创建空间索引的 字段,必须将其声明为 NOT NULL,并且空间索引只能在存储引擎为 MyISAM 的表中创建。

二、使用 CREATE INDEX 语句在已经存在的表上创建索引

语法:
CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX 索引名 ON 表名 (字段名 [(长度)] [ASC|DESC]);

三、使用 ALTER TABLE 语句在已经存在表上创建索引

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

(3)删除索引

1、使用 ALTER TABLE 删除索引

语法:
ALTER TABLE 表名 DROP INDEX 索引名

2、使用 DROP INDEX 删除索引

语法:
DROP INDEX 索引名 ON 表名;

听说看完这篇的同学,都会往下继续学习的哦!
下一篇《mySQL数据操纵》