数据库是一个复杂的对象,那么我们是如何管理的呢?
首先,创建和使用数据库。在大多数RDBMS中,我们可以使用“CREATE DATABASE 数据库名”来创建整个数据库。其中,数据库名在服务器中必须是唯一的,并且符合标识符规则。在一般情况下,我们只需要指定需要创建的数据库的名字,其他事情数据库服务器就会自动完成。其次,连接到数据库。新的数据库创建完毕后,为了在该数据库上执行SQL语句,我们需要连接到该数据库上。在SQL Server中,可以使用“USE 数据库名”来连接到一个已存在的数据库上,当然,在默认情况下,当前数据库是master。最后,删除数据库。其语法为“DROP DATABASE 数据库名”。
我们在前面已经说到,每个表是由一到多个列组成,列定义了什么数据可以存储在表中,而数据类型决定了什么样的数据可以 存储在列中,在创建表之前,我们必须选定每一列的数据类型,那么问题来了,究竟有哪些数据类型可供我们选择呢?
在SQL Server中,共包括二十余中数据类型,我们将分别介绍。
第一,整数数据类型。
类型 | TINYINT | SMALLINT | INT | BIGINT |
存储范围 | 0——255 | -2^15——2^15-1 | -2^31——2^31-1 | -2^63——2^63-1 |
存储空间(字节)/每个 | 1 | 2 | 4 | 8 |
第二,浮点型数据类型。用于存储十进制小数,具体有REAL、FLOAT、DECIMAL、NUMERIC。
第三,字符串类型。是由任何字母、符号和数字任意组合而成。具体有CHAR、VARCHAR、TEXT、NCHAR、NVARCHAR、NTEXT。
第四,二进制数据类型。包括BINARY、VARBINARY。
第五,逻辑数据类型。即BIT。其存储逻辑的真与假数据,占用一字节的空间,其值为0或1,且不能定义为NULL值,即空值。
第六,图形数据类型。即IMAGE。
第七,日期和时间数据类型。DATETIME用于存储日期和时间的结合体,其范围为公元1753年1月1日零时到9999年12月31日23时59分59秒之间的所有日期和时间。而SMALLDATETIME则范围要小,只能表示1900年1月1日到2079年6月6日之间的时间,并且其精度较低,只能精确到分钟。
第八,货币数据类型。包括MONEY、SMALLMONEY。
第九,特殊数据类型。包括TIMESTAMP、UNIQUEIDENTIFIER。
数据库创建完毕后,为存储数据,我们往往还要往数据库中添加表、删除和修改已存在的表。首先,创建表的基础SQL语法为“CREATE TABLE<表名>”,且表名在一个数据库中必须是唯一的,并且符合标识符规则,这点与创建数据库的规则相同。其次,删除表,其语法为“DROP TABLE<表名>”;当然,若有必要的话,还可以创建临时表,即一种在有效时间内存在的表,语法通普通表一样,只需在表名前加上#或##就行。还有一种就是复制表,例如,SELECT*INTO <新表> FROM <原表>。最后,修改表。ALTER TABLE语句同其他选项一起,可以更改已有数据的表的结构,包括添加、修改或者删除列、主键、外键或其他约束等。
最后一点,通过CREATE INDEX和DROP INDEX语句可以创建和删除索引。
好了,本期总结就到这里,我们下次再见!