首页 > 代码库 > 数据库及表的操作
数据库及表的操作
一、数据类型1、二进制类型:(有长度限制,可放800个0、1)格式:binary[(n)] --固定长度的n个字节二进制数据varbinary[(n)] --n个字节变长的二进制数据2、字符数据格式:char[(n)] --固定长度为n的字符型数据varchar[(n)] --最大长度为n的变长字符型数据相同点:两者最多存8kb,相当于8000个英文字母或数字,也相当于4000个汉字,超过4000字的一般用text文本类型存储区分char和varchar: 用 char(20)和 varchar(20)两个定义一个长度为10的量,char(20)会用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=4(2)、浮点型数据格式: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 属性。该列必须以 decimal、int、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 表名
数据库及表的操作
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。