首页 > 代码库 > 数据库及表的操作

数据库及表的操作

一、数据类型1、二进制类型:(有长度限制,可放800个0、1)格式:binary[(n)]                 --固定长度的n个字节二进制数据varbinary[(n)]             --n个字节变长的二进制数据2、字符数据格式:char[(n)]   --固定长度为n的字符型数据varchar[(n)]   --最大长度为n的变长字符型数据相同点:两者最多存8kb,相当于8000个英文字母或数字,也相当于4000个汉字,超过4000字的一般用text文本类型存储区分char和varchar:   用 char20)和 varchar(20)两个定义一个长度为10的量,char20)会用null自动补全空余的10个位置,不用的10个空间不会释放。  而varchar(20)在现在就相当于char(10),剩余10个空间会自动释放,节省空间。  所以,一般选用varchar3、日期时间数据格式:datetime          范围为1753.1.1-1999.12.31smalldatetime          范围为1900.1.1-2079.6.6注意:(1)、日期时间有范围,定义时不要超出其范围(2)、定义时间时用日期时间数据,尽量别用varchar()(3)、日期时间类型长度固定4、实型数据(1)、定点型数据格式:decimal[(p[,s])]   --其中p为总数,s为小数位数numeric[(p[,s])]     若s缺省,则无小数部分注意:p包含小数点位数,小数点算一位例:若小数点前2为,小数点后4为,则p=7,s=42)、浮点型数据格式:float(real)[(n)]     --n用于记float尾数的位数5、货币类型6、特殊数据类型bit     只包含0或1,可用于代表true,false7、文本和图像数据类型文本(text):用来处理可变长的大文本数据,可存储2GB图像(image):用来处理图像数据,可存储2GB  二、数据库的创建和管理SQL语言有3种:DDL(数据定义语言)、DML(数据操纵语言)、DCL(数据控制语言)1、数据库的创建:格式:CREATE DATABASE  数据库文件名                       --数据库起名   CREATE是创建的意思ON [PRIMARY]                                                 --指定数据主文件名    若不加PRIMARY时,为次文件名( NAME = logical_file_name,   FILENAME = os_file_name,   SIZE=size,                                                 --初始化文件大小   MAXSIZE=maxsize,                                  --指定文件的最大值   FILEGROWTH=growth_increment )            --指定文件增长的增量LOG ON                                                     --日志文件( NAME = logical_file_name,   FILENAME = os_file_name,   SIZE=size,                                                    MAXSIZE=maxsize,                                     FILEGROWTH=growth_increment )2、修改数据库ALTER DATABASE database3、删除数据库DROP DATABASE注意:所删除的数据库一定不能处于使用状态 三、表的创建和管理1、创建表CREATE TABLE [[数据库名.]表所有者.]表名(  { 列名   数据类型}       [NULL | NOT NULL]       {列名 AS 列表达式}             --可以通过其他表计算出来的列用列表达式表示  [,........]  )[ON {文件组名 | DEFAULT}]2、指定默认值格式:[DEFAULT  常量表达式]例:CREATE TABLE STUDENT(   NAME CHAR(8),   COLLECE CHAR(20)  DEFAULT 黑龙江八一农垦大学          --如果没填默认为  黑龙江八一农垦大学)3、标识列(自增长列)格式CREATE TABLE [[数据库名.]表所有者.]表名(  { 列名   数据类型}      [IDENTITY (种子值,增长值) NOT NULL]           --种子值(意思是从几开始增)  增长值是(一次增长几个)    [.............,] )注意:(1)、一个表只能有一列定义为IDENTITY 属性。该列必须以 decimalint、numeric、smallint、bigint、tinyint数据定义。(2)、若不定义种子值和增长值,二者默认为1(3)、标识符列不允许为空值,也不能包含DEFAULT*(4)、insert into 输入时,若有标识列,可自动省略。     例:表student有两 ID列、NAME列 两列 ,其中ID列为标识符列,则输入时   insert into student values(刘明)    --只需要输入一个数,到表内标识符列自动生成*(5)、标识列用一个废一个,一旦用了就不能再用了   例:若一个三行的student表,ID列为标识列,NAME列为姓名列,删除第二行姓名,再添加一个是,ID列自动变为4。    如果发现ID4的名字填错了,改过来之后,ID会自动变为5(6)若想从头开始填标识符列,  truncate 表名     --truncate 是截断、清空的意思4、CHECK检查约束目的:主要是防止出现一模一样的数值,可作为区分。操作:找到要操作的表——>右键——>设计——>找到想设CHECK约束的列名——>右键——>CHECK约束5、定义主关键字主键的特征:(1)、唯一性。一个表只有一个主键(2)、不为空。不能在主键列中输入NULL值(3)、每一个表都应设主键(4)、主键会自动排序主键的类型:(1)、一般设置一个主键(2)、有时也会设置2个主键,也就是组合主键。组合主键的意思是唯一不重复的组合,其中一个每一个都可能重复,但组合起来就不可能重复了。操作:找到要操作的表——>右键——>设计——>找到想设置的列名——>右键——>设置主键  //或者直接点击想设置的列,然后点击左上方的钥匙标记6、定义外关键字(1)、外键一般涉及两个表:主表和从表主表:用来约束的表从表:被约束的表         --外键一般建在从表上(2)、找到要操作的表——>右键——>设计——>点击左上角与主键挨着的那个关系键——>添加——>然后在右边的栏里选择需要设置的项          --第一种          数据关系图——>右键——>新建关系图——>选择有关系的图——>钥匙指向的一方为主表          (可以在里面直接设置主键,有关系的直接连接起来即可) 注意:INSERT 和UPDATE规范中有更新规则和删除规则:(1)、删除规则的:   不执行任何操作     --从表已经使用的项主表不能删除、修改                              级联                   --主表删除,从表跟着删。                              设置NULL            --主表删除,从表变为NULL。          更新规则的:   不执行任何操作     --从表已经使用的项主表不能更新                              级联                   --主表更新,从表跟着更新。                              设置NULL            --主表更新,从表变为NULL。7、候选键(主键以外的唯一不重复键)UNIQUE 约束特征:(1)、不重复                    (2)、可有多个                 --UNIQUE 约束可以有多个(3)、可为空                    --UNIQUE 约束可以为空(4)、不具备自动排序功能操作:找到要操作的表——>右键——>设计——>找到要约束的列——>添加——>类型  唯一键8、添加列ALTER TABLE  表名    --修改表9、删除表DROP TABLE  表名

 

数据库及表的操作