创建数据库和表相关的SQL语句
SQL server注释语句有两种:
一种是单行注释,一种是多行注释。
********************
单行注释用:--注释一行内容
多行注释用:/*
*注释
*多行内容
*/
创建数据库:
语句如下:
/*创建数据库主文件
create database student:新建数据库逻辑名称为student
filename='d:\stduent_data.mdf':数据库文件保存路径和名字。
on primary:primary—默认文件组,表示表是建立在主文件组上,可以省略.
size=3:数据库文件初始大小为3MB,
maxsize=unlimited:最大长度无限制
filegrouwth=1,自动增长量为1
*/
/*创建数据库日志文件 name=student_log:日志逻辑名称为student_log
size=1:日志文件初始大小为1MB
maxsize=20,日志文件最大为20MB
filegrowth=10%,日志自动增长量10%
*/
--创建数据库stuent
create database student
on primary
(
name=student_data,
filename='d:\stduent_data.mdf',
size=3,
maxsize=unlimited,
filegrowth=1
)
--创建日志文件
log on
(
name=student_log,
filename='d:\student_log.ldf',
size=1,
maxsize=20,
filegrowth=10%
)
删除数据库
由于SQL Server将数据库的清单存放在master系统数据库的sysdatabases表中,
所以我们使用master数据库查看该表是否存在于该数据库中就可以了:
语句如下:
--删除数据库student
use master
go
if exists(select * from sysdatabases where name='student')
drop database student
go
1.创建表:
CREATE TABLE <表名>(
<列名><数据类型>[列级完整性约束条件],
<列名><数据类型>[列级完整性约束条件],
........ ,
[表级完整性约束条件],
)
建表的同时通常还可以定义与该表有关的完整性约束条件,
这些完整性约束条件被存入系统的数据字典中,
当用户操作表中数据时由DBMS自动检查该操作是否违背这些完整性约束条件。
如果完整性约束条件涉及到该表的多个属性列,则必须定义在表级上,否则既可以定义在列级也可以定义在表级。
| 数据类型 | 含义 |
| CHAR(n) | 长度为n的特长字符串 |
| VARCHAR(n) | 最大长度为n的变长字符串 |
| INT | 长整数(也可以写作INTEGER) |
| SMALLINT | 短整数 |
| NUMERIC(p,d) | 定点数,由p位数字(不包括符号、小数点)组成,小数后面有d位数字 |
| REAL | 取决于机器精度的浮点数 |
| Double Precision | 取决于机器精度的双精度浮点数 |
| FLOAT(n) | 浮点数,精度至少为n为数字 |
| DATE | 日期,包含年月日,格式为YYYY-MM-DD |
| TIME | 时间,包含一日的时、分、秒,格式为HH:MM:SS |
建stu_info表:
--建表
/*
PRIMARY KEY 主键,将stu_id设为主键
identity(1,1),自增列,标识为1,自增长度为1.
*/
use student
go
if exists (select * from sysobjects where name='stu_info')
drop table stu_info
create table stu_info(
stu_id int not null identity(1,1) primary key,
name nvarchar(20)not null,
age char() null,
sex char(2) null,
birthday date null,
);
2.修改stu_info表:
ALTER TABLE <表名>
[ADD <新列名><数据类型>[完整性约束]]
[DROP<完整性约束名>]
[ALTER COLUMN<列名><数据类型>];
其中<表名>是要修改的基本表,ADD子句用于新增加新列和新的完整性约束条件,
DROP子句用于删除指定的完整性约束条件,
ALTER COLUMN 子句用于修改原有的列定义,包括修改列名和数据类型。
如:
1.向stu_info表中增加“家庭住址”列,数据类型为nvarchar(30)
2.将stu_info表中年龄的数据类型由字符型改为整型。
语句如下:
--修改stu_info表
alter table stu_info add address nvarchar(30)
alter table stu_info alter column age int
3.删除stu_info表
DROP TABLE <表名>
--删除stu_info表
drop table stu_info;
4.插入stu_info表:
INSERT INFO<表名>[(<属性列>)][<属性列>...]VALUES(<常量1>[,<常量2>]...);
如:插入id:1001,姓名:星云 年龄:18, 性别:男 生日:19920306 地址:河南安阳
--插入stu_info表
set identity_insert stu_info on
INSERT INTO stu_info(stu_id,name,age,sex,birthday,address) VALUES('','星云','','男','','河南安阳')
5.更新stu_info表:
UPDATE <表名> SET<列名>=<表达式>[,<列名>=<表达式>]...[WHERE <条件>];
如:更新stu_info表,把id为1001的年龄设为23
--更新stu_info表
update stu_info set age=23 where stu_id=''
6.查询stu_info表:
SELECT [ALL |DISTINCT]<目标列表达式>[,<目标列表达式]...
FROM <表名或视图名>[,<表名或视图名>]...
[WHERE <条件表达式>]
[GROUP BY <列名1>][HAVING <表达式>]]
[ORDER BY <列名2>][ASC|DESC];
查询stu_info表所有内容:
--查询stu_info表
select *
from stu_info;
7.添加SQL登录账户,以及删除SQL登陆账户
添加SQL登录账户:xingyun,密码为123456
/*--添加SQL登录账户--*/
-- 添加账号:xingyun,密码为123456
exec sp_addlogin 'xingyun', ''
添加student数据库登陆账户:xingyun密码:123456
/*--在student数据库中添加用户(只能添加SQL登陆账户)--*/
use student
go
exec sp_grantdbaccess 'xingyun',''
-- 提示:SQL Server 中的dbo用户是具有在数据库中执行所有活动权限的用户,表示数据库的所有者(owner),一般来说,
-- 如果创建了某个数据库,就是该数据库的所有者,即dbo用户,dbo用户是一个比较特殊的数据库用户,无法删除,
-- 且此用户始终出现在每个数据库中
删除SQL登陆账户:
--删除xingyun账户名
exec sp_droplogin 'xingyun'
给数据库用户授权:
grant 权限 [on 表名] to 数据库用户
/* --给数据库用户授权-- */
-- 授权的语法如下
-- grant 权限 [on 表名] to 数据库用户
use student
go
grant select,update,insert on stuMarks to xingyun
grant create table to xingyun
go
创建数据库和表相关的SQL语句的更多相关文章
- 创建数据库以及其属性的sql语句
创建数据库的SQL语句: create database stuDB on primary -- 默认就属于primary文件组,可省略 ( /*--数据文件的详细描写叙述--*/ name='stu ...
- 创建数据库和表的SQL语句【转】
创建数据库和表的SQL语句 转至http://www.cnblogs.com/philanthr/archive/2011/08/09/2132398.html 创建数据库的SQL语句: 1 crea ...
- 第16课-数据库开发及ado.net-数据库SQl,创建数据库和表,增删改语句,约束,top和Distinct,聚合函数介绍
第16课-数据库开发及ado.net 数据库SQl,创建数据库和表,增删改语句,约束,top和Distinct,聚合函数介绍 SQL语句入门(脚本.命令) SQL全名是结构化查询语言(Structur ...
- ylb:创建数据库、表,对表的增查改删语句
ylbtech-SQL Server:SQL Server-创建数据库.表,对表的增查改删语句 SQL Server 创建数据库.表,对表的增查改删语句. 1,ylb:创建数据库.表,对表的增查改删语 ...
- Adobe AIR中使用Flex连接Sqlite数据库(1)(创建数据库和表,以及同步和异步执行模式)
系列文章导航 Adobe AIR中使用Flex连接Sqlite数据库(1)(创建数据库和表) Adobe AIR中使用Flex连接Sqlite数据库(2)(添加,删除,修改以及语句参数) Adobe ...
- PHP创建数据库数据表
PHP创建数据库数据表 <?php $con = mysql_connect('localhost', 'root', 'root'); /************************在数据 ...
- 03 MySQL_表相关的SQL
表相关的SQL 什么是表: 表是数据库中保存数据的单位 数据库表的引擎: innodb:支持数据库的复杂操作,包括外键.事务等; myisam:只支持数据库的增删改查操作: 1. 创建表 格式: cr ...
- 如果一条SQL语句太长,我们可以通过回车键来创建一个新行来编写SQL语句,SQL语句的命令结束符为分号(;)。
1.如果一条SQL语句太长,我们可以通过回车键来创建一个新行来编写SQL语句,SQL语句的命令结束符为分号(;). 2.select查询的多个字段之间要用逗号“,”分割,如果查询涉及多个表,那多个表之 ...
- (转载)异构数据库之间完全可以用SQL语句导数据
<来源网址:http://www.delphifans.com/infoview/Article_398.html>异构数据库之间完全可以用SQL语句导数据 告诉你一个最快的方法,用SQL ...
随机推荐
- JAVA学习博客---2015-8
八月份的学习博客,今天已经是九月四号了,补上吧.现在我又回到C++了,JAVA的基本的东西都懂了,但是更好的掌握JAVA,我必须原路返回去学习C++,当初为了更快的学JAVA,其实我得C++都是跳着看 ...
- 在Linux上用自己编译出来的coreclr与donet cli运行asp.net core程序
先在 github 上签出 coreclr 的源代码,运行 ./build.sh 命令进行编译,编译结果在 coreclr/bin/Product/Linux.x64.Debug/ 文件夹中. 接着签 ...
- ENode 1.0 - 框架的总体目标
开源地址:https://github.com/tangxuehua/enode 本文想介绍一下enode框架要实现的目标以及部分实现分析思路剖析.总体来说enode框架是一个基于cqrs架构和消息驱 ...
- [.net 面向对象编程基础] (21) 委托
[.net 面向对象编程基础] (20) 委托 上节在讲到LINQ的匿名方法中说到了委托,不过比较简单,没了解清楚没关系,这节中会详细说明委托. 1. 什么是委托? 学习委托,我想说,学会了就感觉简 ...
- hadoop学习笔记:zookeeper学习(上)
在前面的文章里我多次提到zookeeper对于分布式系统开发的重要性,因此对zookeeper的学习是非常必要的.本篇博文主要是讲解zookeeper的安装和zookeeper的一些基本的应用,同时我 ...
- http学习笔记(三)
几乎所有的http通信都是由TCP/IP承载的.http好比一辆汽车,而TCP是一条公路,所有的汽车都要在公路上跑,看看http是如何在tcp这条公路上往返的. 首先简单地看看tcp,TCP连接是通过 ...
- 《OOC》笔记(1)——C语言const、static和extern的用法
<OOC>笔记(1)——C语言const.static和extern的用法 C语言中const关键字用法不少,我只喜欢两种用法.一是用于修饰函数形参,二是用于修饰全局变量和局部变量. 用c ...
- 虚拟化平台cloudstack(5)——参考资料
虚拟化的几种方式 完全虚拟化: 半虚拟化: 硬件辅助虚拟化: 详细的内容可以看: http://pan.baidu.com/share/link?shareid=4134188256&uk=2 ...
- WINFrom Excal 数据导入数据库
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- Dubbo的使用及原理浅析.
前面几个博文中关于SSM 框架已经搭建完成, 这里来讲下项目中使用到的Dubbo以及自己了解到的关于Dubbo的一些知识. Dubbo是什么? Dubbo是阿里巴巴SOA服务化治理方案的核心框架,每天 ...