社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
一、概述
用于数据存储和操作的结构,由行和列组成,比Excel更加规范,需要预先定义结构之后才能使用。其中每一行代表一条数据,每一列代表一个数据维度。
二、表结构相关
1、创建表
创建数据表时主要需要声明:数据表名称、数据列名、数据列的类型。
格式:
create table 表名(
字段名 类型(长度) 约束,
字段名 类型(长度) 约束
);
2、约束
防止往数据表中插入错误的数据,在MySQL中,定义了一些维护数据库完整性的规则,即表的约束。
2.1主键约束
主键是用于标识当前记录的字段。它的特点是非空,唯一。在开发中一般情况下主键是不具备任何含义,只是用于标识当前记录。
(1)创建主键
格式一:在创建表时创建主键,在字段后面加上 primary key.
格式二:在创建表时创建主键,在表创建的最后来指定主键
(2) 删除主键约束
格式:alter table 表名 drop primary key;
例:
(3)主键自动增长
一般主键是自增长的字段,不需要指定,实现添加自增长语句,主键字段后加auto_increment(只适用MySQL)
格式:
2.2 外键约束
(1)创建外键约束
格式一:创建表时设置外键约束
[CONSTRAINT <外键名>] FOREIGN KEY 字段名 [,字段名2,…]
REFERENCES <主表名> 主键列1 [,主键列2,…]
例:
格式二:在修改表时添加外键
ALTER TABLE <数据表名> ADD CONSTRAINT <外键名>
FOREIGN KEY(<列名>) REFERENCES <主表名> (<列名>);
例:
(2)删除外键约束
格式:ALTER TABLE <表名> DROP FOREIGN KEY <外键约束名>;
2.3 唯一约束
(1)创建唯一约束
格式一:定义完列之后直接使用 UNIQUE 关键字指定唯一约束
<字段名> <数据类型> UNIQUE
例:
格式二:修改表时添加唯一约束
ALTER TABLE <数据表名> ADD CONSTRAINT <唯一约束名> UNIQUE(<列名>);
例:
(2)删除唯一约束
ALTER TABLE <表名> DROP INDEX <唯一约束名>;
例:
2.4 检查约束
在更新表数据的时候,系统会检查更新后的数据行是否满足 CHECK 约束中的限定条件.
(1)创建检查约束
格式一:创建表时设置检查约束
CHECK(<检查约束>)
例:
格式二:修改表时添加检查约束
ALTER TABLE tb_emp7 ADD CONSTRAINT <检查约束名> CHECK(<检查约束>)
例:
(2)删除检查约束
ALTER TABLE <数据表名> DROP CONSTRAINT <检查约束名>;
(3)MySQL关于check约束无效的解决办法
https://www.cnblogs.com/wangtianze/p/6700244.html
2.5 默认值
(1)创建默认约束
格式一:创建表时可以使用 DEFAULT 关键字设置默认值约束,“默认值”为该字段设置的默认值,如果是字符类型的,要用单引号括起来。
<字段名> <数据类型> DEFAULT <默认值>;
例:
格式二:修改表时添加默认约束
ALTER TABLE <数据表名>
CHANGE COLUMN <字段名> <字段名> <数据类型> DEFAULT <默认值>;
(2)删除默认值约束
ALTER TABLE <数据表名>
CHANGE COLUMN <字段名> <字段名> <数据类型> DEFAULT NULL;
2.6 非空约束
(1)创建非空约束
格式一:创建表时可以使用 NOT NULL 关键字设置非空约束
<字段名> <数据类型> NOT NULL;
例:
格式二:修改表时添加非空约束
ALTER TABLE <数据表名>
CHANGE COLUMN <字段名>
<字段名> <数据类型> NOT NULL;
例:
(2)删除非空约束
格式:
ALTER TABLE <数据表名>
CHANGE COLUMN <字段名> <字段名> <数据类型> NULL;
例:
2.7 查看表中的约束
格式:SHOW CREATE TABLE <数据表名>;
例:
3、查看表结构
格式:desc 表名;
4、删除表
格式:drop table 表名;
5、修改表结构
5.1 修改表添加列.
格式:alter table 表名 add 列名 类型(长度) 约束;
例:
5.2 修改表修改列的类型长度及约束
格式:alter table 表名 modify 列名 类型(长度) 约束;
例:
5.3 修改表修改列名
格式:alter table 表名 change 旧列名 新列名 类型(长度) 约束;
5.4 修改表删除列
格式:alter table 表名 drop 列名;
5.5 修改表名
格式:rename table 表名 to 新表名;
5.6 修改表的字符集
格式:alter table 表名 character set 字符集;
6、插入表记录
格式一:向表中插入某些列
insert into 表 (列名1,列名2,列名3..) values (值1,值2,值3..);
格式二:向表中插入所有列
insert into 表 values (值1,值2,值3..);
7、更新表记录
格式一:update 表名 set 字段名=值,字段名=值;
格式二:update 表名 set 字段名=值,字段名=值 where 条件;
8、删除记录
(1)删除某些记录
格式:delete from 表名 [where 条件];
(2)删除所有记录
格式一:delete from 表名
格式二:truncate table 表名;
区别:
delete 一条一条删除,不清空auto_increment记录数。
truncate 直接将表删除,重新建表,auto_increment将置为零,从新开始。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!