1.数据页
数据页是存储的基本单位。
表数据都存储在数据页中。在Sql Server中页的大小为8KB。每个数据页中包含页标头、数据行以及行偏移量。
页标头:使用每页开头的前96个字节,用于存储有关页的系统信息。其余用于存储数据行和行偏移量。
2.区
区是管理空间的基本单位。
一个区是8个物理上连续的页。所以它的大小事64kb。
区有两种类型:
统一区:由单个对象所有。区中的所有8页只能由所属对象使用。
混合区:最多可由8个对象共享,区中每页可由不同的对象所有。
3.创建表
基本语法:
CREATE TABLE 表名(
属性名 类型,
属性名 类型
);
例如:
create table Student(
id int ,
na varchar(10),
school varchar(20) default 'mmm'
);
在创建表时,同时可以创建如下额外信息:
1.主键
2.默认值
3.递增等信息;
如下所示:
create table stu(
id int auto_increment primary key,
na varchar(10),
school varchar(20) default 'mmm'
);
如果没有直接在列上定义主键,可以在所有列的后面定义。或者修改表。
create table stu1(
id int auto_increment ,
na varchar(10),
school varchar(20) default 'mmm',
constraint pk_stu_id primary key (id)
);
4.修改表
主要是对表的修改、删除、增加
1.对于表的添加。
alter table 表名 add 新列名 类型
alter table stu add column age int
如果需要添加多个列,可以用,号隔开。
2.对于表的修改
a.修改列的名称
alter table 表名 change 列名 新列名 属性;
alter table stu change na nana varchar(20)
alter table 表名 change 字段名 字段名 类型 (两个字段名)
alter table stu change age age varchar(10)
修改某个表的字段类型及指定为空或非空
>alter table 表名称 change 字段名称 字段名称 字段类型 [是否允许非空];
>alter table 表名称 modify 字段名称 字段类型 [是否允许非空];
改某个表的字段名称及指定为空或非空
>alter table 表名称 change 字段原名称 字段新名称 字段类型 [是否允许非空];
删除列:
alter table 表名 drop column 列名
alter table stu drop column age
5.重命名和删除表
删除表:
drop table 表名
drop table stu
如果仅仅只是从表中删除所有行,并保留当前表的完整结构:
delete from 表名
重命名表:
rename table 表名 to 新表名
rename table student to s
6.临时表
当工作在非常大的表上时,你可能偶尔需要运行很多查询获得一个大量数据的小的子集,不是对整个表运行这些查询,而是让MySQL每次找出所需的少数记录,将记录选择到一个临时表可能更快些,然后多这些表运行查询。
创建临时表很容易,给正常的CREATE TABLE语句加上TEMPORARY关键字:
create TEMPORARY table tempStu(
id int ,
school varchar (10)
);
临时表将在你连接MySQL期间存在。当你断开时,MySQL将自动删除表并释放所用的空间。当然你可以在仍然连接的时候删除表并释放空间。
DROP TABLE tmp_table
如果在你创建名为tmp_table临时表时名为tmp_table的表在数据库中已经存在,临时表将有必要屏蔽(隐藏)非临时表tmp_table。