目录
1介绍:
1.1数据库对象命名规则:
必须以字母开头 可包括数字和三个特殊字符(# _ $) 不要使用MySQL的保留字 同 一 Schema下的对象不能同名
1.2对象分类:
表:基本的数据存储对象 以行和列的方式存在 列就是字段 行就是记录
约束:执行数据的校验 保存数据的完整性
数据字典:系统表 存放数据库的相关信息
视图:一个或者多个数据表的逻辑显示
索引:用于提高查询的性能
2. 表的基本操作:
2.1表的类型:
2.1.1: MyISAM(一种引擎):
r.frm # 描述表结构文件,字段长度等, frame框架
.MYD # 数据信息文件,存储数据信息 (如果采用独立表存储模式) data
.MYI # 索引信息文件,index
2.1.2: InnoDB(默认的存储引擎):
t.frm:存储列相关信息,描述表结构文件,字段长度等
t.ibd:数据行+索引,如果采用独立表存储模式,data\a中还会产生b.ibd文件 (存 储数据信息和索引信 息)
二者区别可见:MyISAM和InnoDB的区别_innodb和myisam有什么区别_牛牛的Java学习之旅的博客-CSDN博客
2.2 创建表
语法:CREATE TABLE 表名( 列名 列类型, 列名 列类型 );
2.3 查看表:
语法:SHOW TABLES[FROM 数据库名][LIKE wild]; //显示当前数据库已有的数据表 信息
DESCRIBE: 查看数据库中的各列信息
{DESCRIBE|DESC}表名[列名];
show columns from 表名称; //表名后加上\G 可以查看更全面的表定义信息
2.4 删除表:
语法: DROP TABLE [IF EXISTS] 表名; //删除指定的表 if判断是否存在
2.5:修改表结构:
1:修改列类型: ALTER TABLE 表名 MODIFY 列名 列类型;
2:增加列:ALTER TABLE 表名 ADD 列名 列类型;
3:删除列: ALTER TABLE 表名 DROP 列名;
4:列改名:ALTER TABLE 表名 CHANGE 旧列名 新列名 列类型;
5:更改表名: ALTER TABLE 表名 RENAME 新表名;
RENAME TABLE 表名 TO 新表名;
2.6复制表的结构:
1.create table 新表名 like 源表 //可以将源表的表结构复制到新表中
2.create table 新表名 select * from 源表 //可以实现表结构的复制,甚至可以将源 表的表 记录拷贝到新表中。
3:insert into 表 select * from 原表; //如果已经存在一张结构一致的表,复制数据
2.7 表的约束 :
约束是在表上强制执行的数据校验规则。约束主要用于保证数据库的完整 性。当表中数据有相互依赖性 时,可以保护相关的数据不被删除。
1.分类:
NOT NULL非空:确保字段值不允许为空
UNIQUE Key唯一键 :唯一性约束条件确保所在的字段或者字段组合不