sqlserver基本操作

SQLserver
企业管理器:图形化界面
查询分析器:命令行
sa:superAdministrator 超级管理员
可以用在系统服务中(我的电脑--管理--服务),或者cmd命令msconfig可以查看当前系统服务设置,根据需要设置服务状态(禁用,启动,手动)
【组织结构】组下面可建立多个实例,实例里边可以建立多个数据库,数据库里可以建立多个数据对象,表只是数据对象之一,数据库里可以存多种形式数据:表,触发器,存储过程,视图,角色等
 
登录的两种模式:
windows身份认证:只要登录了windows就代表是合法用户,进入默认数据库实例
SqlServer用户认证:sql数据库系统的用户管理机制,输入相应用户密码即可登录连接对象资源管理器
新建的数据库和数据库中的表都从属于某一个sql管理员的,用什么管理员建的数据库,该管理员登陆后只能看到相应用户建立的数据库对象

修改sa密码:组--数据库--右击选择一个实例,选属性--安全性--在sa的密码输入框中输入新密码,去掉“强制密码策略”的选项,点确定保存,重启生效

登录可以设置是否记住密码,

基本操作:
建库:会自动建立系统表,开发过程都不回去理他,记录数据库信息

库可以存多种数据对象,表只是其中一种,常用。

新建表后,会提示对表的列性质进行设置:设置列名,列的数据类型,数据的长度,是否允许为null。设置好后记得保存表,要保存。表的名称格式为:dbo.表名  dbo(数据库对象)
右击打开表,或双击打开,可以直接输入设置表内容,输入完毕后直接关闭表,重写打开即可看到最新内容,如果关闭没有提示错误消息,那就是好消息。

字段:建表的时候每个列名都是一个字段,每个字段都有一个字段值,字段值都是某种类型(字段类型)

注意:在对表进行修改之后,正常关闭和保存,无返回错误消息,就是好消息

表:在企业管理器GUI图形界面直接右击一行,删除,剪切复制粘贴。
如果数据过多,用图形界面查询将非常耗费资源,效率低,卡。

于是乎要用查询分析器:命令行工具,使用的是SQL语句:
数据定义语言:creat,drop,alter等
数据操作语言:insert,update,delter等
数据控制语句:grant,remove,commit,rollback等

(sql2000)工具栏里要切换到想要的数据库,否则会错误的对数据库操作
(sql2005)在企业管理器右击表,编辑表脚本为--各种sql命令,会提示相应格式范本,只需要补充各个字段的值并执行就OK,char要‘’,数字int不用引号

创建数据库:create database 表名

表名的格式:字母开头,不超过128个字符,不要使用保留字,不推荐使用特殊字母。
表名和字段属性同时设置
创建表:create table hero(heroid int,sex varchar(20))
格式:create table 表名(字段名 字段类型,字段名 字段类型(长度),……)
为了防止操作出错,命令行出错,在创建之前添加代码:use 数据库名 换行 go

对表进行操作,会提醒N行受到影响。也就是说执行的命令修改了表中N行的数据

增:insert into  表名 value(按照字段的顺序编写数据)
int不用引号,char要单引号,逗号隔开

查:select * from 表名 :查询所有表项,也就是展示整个表
可以添加条件: where id=1:查询id字段值为1的表项,where条件适用所有命令,包括大于小于等判断命令

删:drop table 表名:清空整个表
delete from 表名 where 条件:删除符合条件的表项,如果不设条件,跟清空表一样。from可以加可以不加

改:update 表名 set 字段=字段值 
条件可以设也可以不设,不设置则对所有表项修改,设置条件可以对部分表项修改

sqlserver基本操作

关系型:使用一个关系,来表示实体信息和实体之间的联系

关系:就是一个二维表,有行有列的表格

创建数据库:create database 库名;容错级创建:create database if not exists 库名;

创建带有系统保留字的数据库时,用库名包裹方法(用反引号将系统保留字包裹起来)

指定字符集 default charset =gbk;

删除数据库drop database if exists库名;

创建表:create table 表名(字段,属性,关键字primary key);

修改表的结构:alter table 表名 add 字段 属性;

修改属性:alter table 表名 modify 字段 属性;

向表中添加数据:insert into 表名(属性)values(值);属性与值一一对应

如果其他表的表结构或者与之对应的字段类型完全一致,这时可以写成insert into 表名 select*from其他表

如果其他表字段并不一致,可以取部分字段内容插入,但要求类型对应

1
insert into student2(student_id,student_name) select student_id,studentname from student_info;  

查询数据 select*或字段列表 from 表名 where 条件

select 1+1 as 编号,GETDATE() as 日期,NEWID() as 编号;

查询并分组

1
2
3
select F_money,COUNT(*),getdate() as shijian from Temployee group by F_money having COUNT(*)>1 ;
select F_money,count(*) from Temployee where F_age>22 GROUP by F_money ;
//group bywhere的后面,在having语句的前面,having是对分组后的信息过滤,能用的列是和select中是一样的

  条件查询

1
select top 3*from Temployee order by F_money asc;

  

修改数据:update 表名 set 字段名=新值,。。。where 条件 。。。

删除数据:delete from 表名 where 。。order by。。。limit

你可能感兴趣的:(数据库)