首页 > 开发 > 综合 > 正文

创建数据库和表相关的SQL语句

2024-07-21 02:49:44
字体:
来源:转载
供稿:网友
创建数据库和表相关的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%*/ --创建数据库stuentcreate 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数据库查看该表是否存在于该数据库中就可以了:

语句如下:

--删除数据库studentuse mastergoif exists(select * from sysdatabases where name='student')drop database studentgo

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 studentgoif exists (select * from sysobjects where name='stu_info')drop table stu_infocreate table stu_info(  stu_id int not null identity(1,1) primary key,  name nvarchar(20)not null,  age char(2) 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表:

INSERTINFO<表名>[(<属性列>)][<属性列>...]VALUES(<常量1>[,<常量2>]...);

如:插入id:1001,姓名:星云 年龄:18, 性别:男 生日:19920306 地址:河南安阳

--插入stu_info表set identity_insert stu_info onINSERT INTO stu_info(stu_id,name,age,sex,birthday,address) VALUES('1001','星云','18','男','19920306','河南安阳')

5.更新stu_info表:

UPDATE <表名> SET<列名>=<表达式>[,<列名>=<表达式>]...[WHERE <条件>];

如:更新stu_info表,把id为1001的年龄设为23

--更新stu_info表update stu_info set age=23 where stu_id='1001'

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,密码为123456exec sp_addlogin 'xingyun', '123456'

添加student数据库登陆账户:xingyun密码:123456

/*--在student数据库中添加用户(只能添加SQL登陆账户)--*/use studentgo  exec sp_grantdbaccess 'xingyun','123456'

-- 提示:SQL Server 中的dbo用户是具有在数据库中执行所有活动权限的用户,表示数据库的所有者(owner),一般来说,-- 如果创建了某个数据库,就是该数据库的所有者,即dbo用户,dbo用户是一个比较特殊的数据库用户,无法删除,-- 且此用户始终出现在每个数据库中

删除SQL登陆账户:

--删除xingyun账户名exec sp_droplogin 'xingyun'

给数据库用户授权:

grant 权限 [on 表名] to 数据库用户

/* --给数据库用户授权-- */-- 授权的语法如下-- grant 权限 [on 表名] to 数据库用户use studentgo  grant select,update,insert on stuMarks to xingyun  grant create table to xingyungo

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表