SQL基础篇——如何搭建一个数据库

特别提醒:所有的新建数据库,表,行,列都可以通过对象资源管理器操作,下面所讲的为查询操作方法

一、新建数据库

使用CREATE DATABASE语句建立数据库:

新建查询--

 1 CREATE DATABASE pay
 2 ON PRIMARY   
 3 (
 4     NAME= 支出_DATA,
 5     FILENAME='E:\支出_DATA.mdf',    --创建的mdf文件名称  
 6     SIZE=5MB,            --初始大小5MB
 7     MAXSIZE=10MB,        --最大文件大小10MB
 8     FILEGROWTH = 1MB       --超过5MB之后以1MB的速度增长
 9 )   
10 
11 LOG ON
12 (
13    NAME = 支出_LOG,
14    FILENAME = 'E:\支出_LOG.ldf',
15    SIZE = 2MB,
16    MAXSIZE = 10MB,
17    FILEGROWTH = 1MB
18 )

用这个方法创建数据库时,这个计算机的studio版本需要重新连接服务器或者直接刷新发现数据库在数据库列表中!

对于第2行中的语法,http://www.alixixi.com/program/a/2008020937834.shtml中说得不错:

在CREATE TABLE的语法中有这样一句可选语法项目:
[ ON { filegroup | DEFAULT } ] 
用来指定存储表的文件组。


如果指定 filegroup,则表将存储在指定的文件组中。数据库中必须存在该文件组。如果指定 DEFAULT,或者根本未指定 ON 参数,则表存储在默认文件组中。
(DEFAULT 并不是关键字。DEFAULT 是默认文件组的标识符并需对其进行定界,如 ON "DEFAULT"、ON [DEFAULT]。)
ON [PRIMARY]是表示表是建立在主文件组上。PRIMARY表示主文件组。如果没有指定默认文件组,则主文件组是默认文件组,ON [PRIMARY]也可以省略掉了。

 

二、在数据库中新建表(顺便把列一起建了)

普通的新建:

USE pay; --使用名字为pay的数据库
CREATE TABLE my_friends       --创建一个名为my_friend的表
(    
    last_name VARCHAR(10),      --在表内新增列  last_name
    first_name VARCHAR(6)          --在表内新增列  first_name 
);                

如果我要创建一个在输入信息的时候不能忽略的列时,我需要:

CREATE TABLE my_friends       --创建一个名为my_friend的表
(    
    last_name VARCHAR(10) NOT NULL,      --在表内新增列  last_name
    first_name VARCHAR(6) NOT NULL         --在表内新增列  first_name 
);    

这样的话,在INSERT 的时候就一定得输入last_name和first_name的信息,否则会报错!

 

如果我要创建一个列,那一列的默认值不是NULL,而是自己设定的备用值(在给表插入行之后才会出现single哦!而且要把single改成其他的值,按照一般的赋值即可!)

CREATE TABLE my_friends       --创建一个名为my_friend的表
(    
    last_name VARCHAR(10) NOT NULL,      --在表内新增列  last_name
    first_name VARCHAR(6) NOT NULL,        --在表内新增列  first_name 
    status CHAR(30) DEFAULT single
); 

 

一旦建立my_friend的表,再次建立my_myfriend的表时会显示错误,所以表是不会覆盖的!那么问题来了,如果我要在表中增加新的列应该怎么办呢?

当然,可以删除掉已经建好的表,重新建立一个新的表,在新建的时候把你想加入的列写到()里面就好了,删除表的语句怎么写呢?

DROP TABLE my_friends;

请注意:一旦删除里面的数据就随风而逝了!人死不能复生啊......

 

三、向表增加行(往表中插入数据)

INSERT INTO my_friend
(last_name,phone)  
VALUES
('cake',366413454);

 

也可以省略所有的列名。这样做时一定要添上所有的数据值,而且输入的数据也要和表中的列顺序完全相同

INSERT INTO my_friends
VALUES
('cake','zhishi',366413454);

没有赋值的信息,以NULL的形式存在。

NULL的理解:NULL不等于0,也不等于空字符串(''在两个单引号内,什么都没有的值)。也不等与另一个NULL。两个NULL不可以放在一起比较,因为NULL代表着未定义的值!可以这样去理解:每个NULL代表着一个未打开的盒子,盒子里面装着什么东西都不知道,自然就无法比较啦!

 

 

我想看看我输入的信息,怎么看呢?命令如下:

SELECT * FROM my_friend;

*  号代表选择所有的内容

 

posted @ 2016-08-10 23:06  SimonLiang  阅读(5973)  评论(0编辑  收藏  举报