手记

高级查询(一)

数据类型
 整型 int
 小数 double
 精确度要求高的 ———Decimal(18,4)
 对应Java中的类型  BigDecimal

  字符串:nvarchar(32) varchar  char
 char:定长字符串(一旦设定了长度,无论真实内容有多少,都要占用指定长度的空间)
 varchar:可变字符串
 nvarchar()防止乱码出现

varchar(n),nvarchar(n) 中的n怎么解释:
  nvarchar(n)最多能存n个字符,不区分中英文。
  varchar(n)最多能存n个字节,一个中文是两个字节。
所占空间:
  nvarchar(n)一个字符会占两个字节空间。
  varchar(n)中文占两字节空间,英文占一个。
n的取值范围:
  nvarchar(n)?? n的范围是:1与4000之间
  varchar(n)?? n的范围是:1与8000之间
n的大小是否会影响性能:
  varchar及nvarchar里的长度 n 不会影响空间大小及性能。除非n是max并且内容大于4000或8000
  设置n更多的是业务需要,如限制身份证只能输入18位,再多就报错,或者防止恶意攻击撑爆硬盘。对空间及性能都没有影响
n设置多大比较好:
  既然对空间及性能都没有影响,那我们只要考虑业务需要就可以了,我分析过微软的数据库,大都设置为:256,也会看到64,128,512,max等,可能是便于记忆吧。

varchar(n),nvarchar(n)存储空间举例解释:
  包含 n 个字符的可变长度 Unicode 字符数据。字节的存储大小是所输入字符个数的两倍。? 
  两字段分别有字段值:我和coffee? 
  那么varchar字段占2×2+6=10个字节的存储空间,而nvarchar字段占8×2=16个字节的存储空间。? 
  如字段值只是英文可选择varchar,而字段值存在较多的双字节(中文、韩文等)字符时用nvarchar。
varchar和nvarchar如何选择?
  varchar在SQL Server中是采用单字节来存储数据的,nvarchar是使用Unicode来存储数据的.中文字符存储到SQL Server中会保存为两个字节(一般采用Unicode编码),英文字符保存到数据库中,如果字段的类型为varchar,则只会占用一个字节,而如果字段的类型为nvarchar,则会占用两个字节.
3.日期类型
DateTime

 

函数一定要加小括号!!!!

 

 

2. 创建数据库
create database 数据库名
 创建表
create table 表名(
列名 类型(int) 主键(primary key) 自增(auto_increment) 属性(not null),
);
 添加记录
insert into 表名(列名) values(值);
 约束添加:
 1.主键约束
alter table 表名1
add constraint pk_列名1 primary key 表名2(列名2);
 删除主键
alter table 表名 drop primary key

 2.外键约束
alter table `表名1` add constraint fk_表名1_表名2 
foreign key (`表1中的列名`) references `表2`(表2中的列名);

 3.唯一约束
alter table 1表 add constraint  uk_l.1列 unique key(1.1列);

 4.添加默认约束
alter table 表名
alter column 列名 set default '默认值';

 5.检查约束(不起作用)
alter table 表名
add constraint ck_列名 check (条件);

 

3.不会设置外键
解析:1.找到外键表 1的一方是主表
      2.外键表中有非法数据
      3.主外键表中公共列的类型必须相同

4.什么是引擎?
解析:能让程序启动并执行的一个程序,也称之为驱动。

5.
 1.修改表名
将student改成student2
alter table 旧表名 rename 新表名
 2.添加列
alter table 1 add 1.1 varchar(32) not null;
 3.修改列名
alter table 表名 change 列名  新列名 (类型)bit not null;
 4.删除字段
alter table 表名 drop 字段名

 作者:岔气的猫

原文链接:https://www.cnblogs.com/fl72/p/8406023.html


0人推荐
随时随地看视频
慕课网APP