数据库和表的基本操作

2019-10-4数据库和表的基本操作

数据库—>数据表—>字段

一、数据库和表的基本操作

1、创建和查看数据库

①创建数据库

CREATE DATABASE 数据库名称;

实例:创建一个名称为itcast的数据库

CREATE DATABASE itcast;

②查看已经存在的数据库

SHOW DATABASES;

③查看某个已经创建的数据库信息

SHOW CREATE DATABASE 数据库名称;

实例:查看已经存在的数据库信息

SHOW CREATE DATABASE itcase;

2、修改数据库

①修改数据库编码

ALTER DATABASE 数据库名称 DEFAULT CHARACTER 编码方式 COLLATE 编码方式_bin;

实例:将数据库itcast的编码方式修改为gbk

ALTER DATABASE itcast DEFAULT CHARACTER SET gbk COLLATE gbk_bin;

3、删除数据库

①删除数据库

DROP DATABASE 数据库名称;

实例:删除名称为itcast的数据库

DROP DATABASE itcast;

4、创建数据表

①创建数据表

CREATE TABLE 表名;
(
   字段名 1,数据类型[完整性约束条件],
   字段名 2,数据类型[完整性约束条件],
   ...
   字段名 n,数据类型[完整性约束条件],
)

实例:创建一个用于存储学生成绩的表tb_grade

字段名称数据类型备注说明
idINT学生的编号
nameVARCHAR(20)学生的姓名
gradeFLOAT学生的成绩

首先需要创建一个数据库

CREATE DATABASE itcast;

选择创建表的数据库

USE itcast;

创建数据表

CREATE TABLE tb_grade
(
   id INT(11),
   name VARCHAR(20),
   grade FLOAT
);

验证数据表是否创建成功

SHOW TABLES;

5、查看数据表

②使用SHOW CREATE TABLE查看数据表

SHOW CREATE TABLE 表名;

实例:使用SHOW CREATE TABLE查看tb_grade表

SHOW CREATE TABLE tb_grade;
//或者
SHOW CREATE TABLE tb_grade\G;

②使用DESCRIBE语句查看数据表

DESCRIBE 表名;
//或者简写为
DESC 表名;

实例:使用DESCRIBE查看数据表

DESCRIBE tb_grade;

6、修改数据表

①修改表名

ALTER TABLE 旧表名 RENAME [TO] 新表名;

//TO是可选的,在SQL语句中是否出现不影响语句的执行

实例:将数据库itcast中的tb_grade表名改为grade
修改数据库的表名之前,首先使用SHOW TABLES语句查看数据库中所有表

SHOW TABLES;

开始修改表名

ALTER TABLE tb_garde RENAME TO grade;

检查表名是否修改正确

SHOW TABLES;

②修改字段名

ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型;

实例:将数据表grade中的name字段改为username,数据类型保持不变

ALTER TABLE grade CHANGE name username VARCHAR(20);

验证修改是否成功

DESC grade;

③修改字段的数据类型

ALTER TABLE 表名 MODIFY 字段名 数据类型;

实例:将id字段的数据类型由INT(11)修改为INT(20)
修改之前,先查看数据表的结构

DESC grade;

修改操作

ALTER TABLE garde MODIFY id INT(20);

验证修改成功

DESC grade;

④添加字段

ALTER TABLE 表名 ADD 新字段名 数据类型
[约束条件][FIRST|AFTER 已存在字段名]

实例:在数据表grade中添加一个没有约束条件的INT类型的字段age

ALTER TABLE grade ADD age INT(10);

⑤删除字段

ALTER TABLE 表名 DROP 字段名;

实例:删除grade表中的age字段

ALTER TABLE grade DROP age;

⑥修改字段的排列位置

ALTER TABLE 表名 MODIFY 字段名1 数据类型 FIRST|AFTER 字段名2;

实例:将grade的username字段修改为表的第一个字段

ALTER TABLE grade MODIFY username VARCHAR(20) FIRST;

实例:将数据表grade的id字段插入到grade字段后面

ALTER TABLE grade MODIFY id INT(20) AFTER grade;

7、删除数据表
①删除没有被其他表关联的数据表

DROP TABLE 表名;

实例:删除数据表grade

DROP TABLE grade;

二、数据类型
1、整数类型

数据类型字节数
TINYINT1
SMALLINT2
MEDIUMINT3
INT4
BIGINT8

2、浮点数和定点数类型

数据类型字节数
FLOAT4
DOUBLE8
DECIMAL(M,D)M+2,其中M表示数据的长度,D表示小数点后的长度

3、日期与时间类型

数据类型字节数
YEAR1
DATE4
TIME3
DATETIME8
TIMESTAMP4

4、字符串和二进制类型

数据类型类型说明
CHAR表示固定长度的字符串
VARCHAR表示可变长度的字符串
BINARY表示固定长度的二进制数据
VARBINARY表示可变长度的二进制数据
BOLB表示二进制大数据
TEXT表示大文本数据
ENUM表示枚举类型,只能存储一个枚举字符串值
SET表示字符串对象,可以有零或多个值
BIT表示字段类型

①CHAR和VARCHAR类型
定义CHAR和VARCHAR

CHAR(M)VARCHAR(M)
//M指字符串的最大长度
插入值CHAR(4)存储需求VARCHAR(4)存储需求
‘’‘’4字节‘’1字节
‘ab’‘ab’4字节‘ab’3字节
‘abc’‘abc’4字节‘abc’4字节
‘abcd’‘adcd’4字节‘abcd’5字节
‘abcdef’‘abcd’4字节‘abcd’5字节

CHAR(4)时,不管插入值的长度是多少,所占用的存储空间都是4字节。而VARCHAR(4)所对应数据所占用的字节数为实际长度加1。

②BINARY和VARBINARY
定义

BINARY(M)VARBINARY(M)
//M指的是二进制数据的最大字节长度

需要注意的是,BINARY类型的长度是固定的,如果数据长度不足最大长度,将在数据后面用’\0’补齐,达到最终长度。例如BINARY(3),当插入a时,实际存储的数据为’a\0\0’

③TEXT类型
用于表示大文本数据,例如文章内容、评论等
④BLOB类型
一种特殊二进制类型,用于表示数据量很大的二进制数据,例如图片、PDF文档等
⑤ENUM类型
定义

ENUM('值1','值2','值3','值4'...'值n')
//枚举列表

ENUM类型的数据只能从枚举列表中取,并且只能取一个。注意,枚举列表中的每一个值都有一个顺序编号,MySQL中存入的就是这个顺序编号,而不是列表中的值

⑥SET类型
用于表示字符串对象,它的值可以有零个或多个

SET('值1','值2','值3','值4'..'值n')

与ENUM相似,同上

⑦BIT类型
表示二进制数据

BIT(M)

三、表的约束
表的约束:防止数据表中插入错误数据,定义维护数据库完整性的规则

约束条件说明
PRIMARY KEY主键约束
FOREIGN外键约束
NOT NULL非空约束
UNIQUE唯一性约束
DEFAULT默认值约束,用于设置字段默认值

1、主键约束(PRIMARY KEY)
主键设置:快速查找表中某条信息
①单字段主键:由一个字段构成的主键
定义

字段名 数据类型 PRIMARY KEY

实例:创建一个数据表example01,并设置id作为主键

CREATE TABLE example01(id INT PRIMARY KEY,
                       name VARCHAR(20),
                       grade FLOAT );

②多字段主键
定义

PRIMARY KEY(字段名1,字段名2,字段名3,..,字段名n)
//"字段名1,字段名2,字段名3,..,字段名n"指的是构成主键的多个字段的名称

实例:创建一个数据表example02,在表中将stu_id和course_id两个字段共同作为主键

CREATE TABLE example02(stu_id INT,
                       course_id INT,
                       grade FLOAT,
                       PRIMARY KEY(stu_id,course_id)
                       );

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

2、非空约束(NOT NULL)
非空约束:指字段的值不能为NULL
定义

字段名 数据类型 NOT NULL;

实例:创建一个数据表example04,将表中的name字段设置为非空约束

CREATE TABLE example04(id INT PRIMARY KEY,
                        name VARCHAR(20) NOT NULL,
                        grade FLOAT);

注意:在同一个数据表中,可以定义多个非空字段

3、唯一约束(UNIQUE)
唯一约束:保证数据表中字段的唯一性,即表中字段的值不能重复出现
定义

字段名 数据类型 UNIQUE;

实例:创建一个数据表example05,将表中stu_id设置为唯一约束

CREATE TABLE example05(id INT PRIMARY KEY,
                       stu_id INT UNIQUE,
                       name VARCHAR(20) NOT NULL
                        );

4、默认约束(DEFAULT)
默认约束:用于数据表中的字段指定默认值,即当在表中插入一条新记录时,如果没有给这个字段赋值那么数据库系统会自动认为这个字段插入默认值

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

实例:创建一个数据表example06,将表中grade字段的默认值设置为0

CREATE TABLE example06(id INT PRIMARY KEY AUTO_INTCREMENT,
                       stu_id INT UNIQUE,
                       grade FLOAT DEFAULT 0
                       );
  • 9
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值