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

一、新建数据库

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

新建查询--

 CREATE DATABASE pay
ON PRIMARY
(
NAME= 支出_DATA,
FILENAME='E:\支出_DATA.mdf',    --创建的mdf文件名称  
SIZE=5MB,            --初始大小5MB
MAXSIZE=10MB,        --最大文件大小10MB
FILEGROWTH = 1MB       --超过5MB之后以1MB的速度增长
) LOG ON
(
NAME = 支出_LOG,
FILENAME = 'E:\支出_LOG.ldf',
SIZE = 2MB,
MAXSIZE = 10MB,
FILEGROWTH = 1MB
)

用这个方法创建数据库时,这个计算机的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;

*  号代表选择所有的内容

SQL基础篇——如何搭建一个数据库的更多相关文章

  1. sql server 复制表从一个数据库到另一个数据库

    sql server 复制表从一个数据库到另一个数据库 /*不同服务器数据库之间的数据操作*/ --创建链接服务器 exec sp_addlinkedserver 'ITSV ', ' ', 'SQL ...

  2. 聊聊数据库~3.SQL基础篇

    上篇回顾:聊聊数据库~SQL环境篇 扩展:为用户添加新数据库的权限 PS:先使用root创建数据库,然后再授权grant all privileges on 数据库.* to 用户名@"%& ...

  3. sql基础篇

    再跟SQL谈一谈--基础篇   1.简介 2.DDL & DML 3.SELECT ①DISTINCT ②WHERE ③AND & OR ④ORDER BY 4.INSERT 5.UP ...

  4. ASP.NET实现二维码 ASP.Net上传文件 SQL基础语法 C# 动态创建数据库三(MySQL) Net Core 实现谷歌翻译ApI 免费版 C#发布和调试WebService ajax调用WebService实现数据库操作 C# 实体类转json数据过滤掉字段为null的字段

    ASP.NET实现二维码 using System;using System.Collections.Generic;using System.Drawing;using System.Linq;us ...

  5. SQL基础篇(MICK)

    SQL基础教程(Mick) 数据库和SQL C:\PostgreSQL\9.5\bin\psql.exe -U postgres -d shop 数据库的基本概念 数据库(DB):将大量数据保存起来, ...

  6. 通过 SQL Server 视图访问另一个数据库服务器表的方法

    今天项目经理跑过来对我大吼大叫说什么之前安排让我做一大堆接口为什么没做,我直接火了,之前明明没有这个事情…… 不过事情还要解决,好在两个项目都是用的sqlserver,可以通过跨数据库视图来快速解决问 ...

  7. SQL基础篇---基本概念解析

    1.数据库database:保存表和其他相关SQL结构容器(一般是一个文件或者一组文件) 2.SQL (Structared Query Language):是一种专门用来与数据库沟通的语言,是一种结 ...

  8. python框架之Flask基础篇(二)-------- 数据库的操作

    1.flask连接数据库的四步: 倒入第三方数据库扩展包:from flask_sqlalchemy import SQLAlchemy 配置config属性,连接数据库: app.config[&q ...

  9. SQL必知必会|SQL基础篇

    了解SQL DBMS的前世今生 SQL是如何执行的 DDL语法 关于外键的性能问题? 是否使用外键确实会有一些争议.关于外键的使用: 首先,外键本身是为了实现强一致性,所以如果需要正确性>性能的 ...

随机推荐

  1. 简单的python http接口自动化脚本

    今天给大家分享一个简单的Python脚本,使用python进行http的接口测试,脚本很简单,逻辑是:读取excel写好的测试用例,然后根据excel中的用例内容进行调用,判断预期结果中的返回值是否和 ...

  2. Flask框架学习笔记(API接口管理平台 V1.0)

    今天博主终于完成了API接口管理平台,最后差的就是数据库的维护, 博主这里介绍下平台的设计原理,首先基于python,利用flask的web框架+bootstrap前端框架完成,先阶段完成了前台展示页 ...

  3. easyui combo下拉框多选框

    按照自己的方式,先晒下效果图: 选一个值,那么就在input里面显示一个,去掉勾选,那么input就会少一个 其实做法很简单,今天就是快下班了,闲着没事加篇博客而已,下面带上代码. 1.页面的展示,i ...

  4. python实现批量ping IP,并将结果写入

    最近工作需要,写了一个Python小脚本,分享给大家,因为公司的IP用的差不多了,然后离职人员的IP有没有及时删除,导致没多少IP用了,所以做了一个python脚本跑了跑,清出来一堆ping不通的IP ...

  5. JDK源码分析之集合02ArrayList

    一.前言 有了前一篇对集合类的概述,我们知道ArrayList是属于Collection类系中的一个具体实现类,其特点是长度可以动态改变,集合内部使用数组保存元素.下面我们对源码进行分析. 二.Arr ...

  6. Mac OS下Boot2Docker的网络映射设置

    Mac系统下安装Boot2Docker造成了三层网络:Mac->VirtualBox->Docker,通过docker run 参数-p/-P,能手动或自动设置VirtualBox与Doc ...

  7. 云计算三种服务模式SaaS、PaaS和IaaS及其之间关系(顺带CaaS、MaaS)

    云计算架构图 很明显,这五者之间主要的区别在于第一个单词,而aaS都是as-a-service(即服务)的意思,这五个模式都是近年来兴起的,且这五者都是云计算的落地产品,所以我们先来了解一下云计算是什 ...

  8. 三方框架之masonry

    这个详细的介绍:http://www.cocoachina.com/ios/20141219/10702.html Masonry 源码:https://github.com/Masonry/Maso ...

  9. mongodb分组,的两种方式,先记一下

    using MongoDB.Bson; using MongoDB.Driver; using MongoDB.Driver.Builders; using NationalUnion.AdGalle ...

  10. table extraction

    http://yz.mit.edu/papers/webtables-vldb08.pdf http://www.vldb.org/pvldb/vol4/p528-venetis.pdf Alon H ...