?
sqlserver学习_01
?
开始-》cmd-》进入控制台?
? ?sqlcmd->-S .\sqlexpress?
? ?1>?
如果出现表示
数据库“sqlexpress实例”可以使用了?
? ?Exit表示退出?
安装SQL Server数据库(数据管理软件)?
安装服务?
? ?-》一个电脑硬件上可以安装多个实例,一个实例就好比另外一个人?
? ?-》实例 只可以有一个默认实例?
1、记录学生的信息?
姓名 年龄 性别?
张三 ? ? 19 ? ? ? ?男?
李四 ? ? 20 ? ? ? ?男?
? ?...?
一张表就好像一个类,姓名、年龄、性别就好像是这个类里面的字段,整张表就好像是一个List
对象?
?
?
?Class ?Person
{
? ? string name;
? ? int age;
? ? char sex;
}
?
一、什么是数据库? (学习数据库要有过日子的心理)?
数据库Database:数据的仓库?
数据库就好像一个大超市,货物都要归类区分存放,便于我们管理拿取,我们的数据库也一样?
数据库 ? DBMS(DataBase Management System,数据库管理
系统)?
2)数据库的特点:海量存储、查找速度快、安全性、、并发性问题控制、数据完整性?
1)主键?
就是数据行的唯一标识,不会重复的列才能当主键,一个表可以没有主键,但是会非常难以处理,因此没有特殊理由表都要设定主键。?
3)数据库里的数据类型?
I)二进制数据类型?
--》Image: ? 用来存储非字符和非文本的数据(比如说图片、音乐、视频等。。。)?
II)文本数据类型?
--》Char: 字符数据包括任意字母、符号或数字字符的组合。(以字节来计算,比如说Char(10) 这个字段里面可以存储10个字节的数据如果存的是‘abc’那么系统会自动在前面加上7个空格,如果是‘哈哈哈’汉字,系统就会加四个空格,因为一个汉字两个字节汉字,这些空格就是如果给的值不够10个字节系统就会自动补够,超出就不行)?
--》Varchar:可变长度非Unicode数据(例如varchar(10) 表明这个字段里面可以存储10个字符,以字符个数来计算就是说不管存的是‘1234567890’还是‘哈哈哈哈哈哈哈哈哈哈’都是可以存10个,就不是以字节计算了,同样如果不够十个在内存里存储的时候系统就会自动加上空格,补够10个)?
--》nchar:也是以字节来计算,但是不同的是如果nchar(10)给值的时候不够10个字节的话在内存里系统就不会自动加空格补满。?
--》nvarchar:和nchar同理?
--》text():存储文本信息(指针,可以存2G,就是比较长的文本)推荐使用 ?varchar(max)?
-->Ntext:Nvarchar(max)?
III)日期和时间?
--》日期和时间在单引号内输入 :Datetime ? 日期和时间?
IIII)数字数据 (该数据仅包含数据,包括证书、负数以及分数)?
--》int ? ? ?整数?
-->smallint ? ? ?整数?
--》float ? 数字 (小数)?
-->real ? ?数字?
IIIII)货币数据类型?
--》money?
IIIIII)bit数据类型?
--》bit ?存储布尔数据类型 (true/false ?0/1 一般用来存储性别)?
2)创建数据库文件?
数据库文件mof ?master data file ? ? log ?data file?
3)数据库的注释?
--》 ? -- 注释的内容?
--》 ? \*?
注释内容?
? ? ? */?
4)创建数据库?
? --》逻辑名 --》大小 ? --》增长 --》路径?
删除数据库时可能出现的问题 ?
语法 如果数据库正在使用中是删除不了的,要删除就?
?
?use master;
? ?go
? drop database 数据库名
? go
? ?
4)创建表?
create table 表名?
(?
? ?--这里面的字段可以想象成C#里的字段一样,补够这里的字段数据类型要写在前面?
字段名 、数据类型、约束(各个字段要用逗号分隔)?
)?
--》自动增长使用?
? ? identity(1,1) ?--以1为起始值,以1为步长自动增长?
--》主键设置?
? ?primary key?
-->非空使用?
字段名 类型 ?not null ?(表示该字段的值不可以为空)?
5)插入?
? ?insert into 表名(字段列表) values(值)?
--》查看数据?
? ?select * from 表名?
--》修改单个值?
? ?update要修改的表名 set 字段名=值 where 条件?
--》修改多个值?
? ? update 要修改的表名 set 字段1=‘值1’,字段2=‘值2’ where 条件?
--》追加课使用:字段=字段+值?
6)删除表中所有数据:delete from 表名?
值删除数据,如果不加where条件表名删除全部数据?
? ?delete只是删除数据,表还在,和drop table不同?
--》删除部分数据?
? delete from 表名 where 条件?
--》删除表?
? drop table 表名 ?
--创建数据库?
/*?
create database ?数据库名?
*/?
create database MyFirstDataBase?
--》默认系统保存数据文件与日志文件?
--》逻辑名:就是数据库名?
--》文件名:数据库要保存到的位置,注意数据库直接生成的拿两个文件不可以直接保存到系统盘的根目录下,要保存就建一个子文件夹,不建议保存在系统盘?
--》大小:初始的存储大小?
--》增长:如火存储的内存超过了初始的大小就会以这个值增长,比如说初始大小是10,增长是2,那么当满了10 以后就会自动增长2,当12又满了的时候再增长2,以此类推下去?
go?
--go不是T-SQL的标准语法?
--表示前面的代码作为一段逻辑一起执行?
use Doolsql?
go?
? ? ? ? ? ? ? ? ? ? --=================实例================---?
?
--创建数据库
/*
create database 数据库名
*/
create database MyFirstDataBase
go
--go不是T-SQL的标准语法
--表示前面的代码作为一段逻辑一起执行
--删除数据库
drop database MyFirstDataBase
create database MyDataBase2
on
(
name='MyDataBase2',
filename='E:\DB\MyDataBase2.mdf',
size=10,
filegrowth=