第二章笔记

创建数据库
create database myschool
2.数据类型
  1.整型 int
  2.小数 double
  精确度要求高的 ----Decimal(18,4)
  22222222211111.3334
  对应的java中的类型 BigDecimal
  3.字符串:nvarchar(32)   varchar  char
   char :定长字符串(一旦设定了长度,无论真实内容有多少,都要占用指定长度的空间。)
   varchar:可变字符串
   nvarchar() 防止中文乱码出现   insert into grade(gradename) values(N'牛X班')
  4.日期类型
    DateTime  yyyy-mm-dd hh:mm:ss.ms
2.创建数据表
create table student
(
   sid int primary key auto_increment not null,
   sname nvarchar(32)
)
#添加记录和SQL 一样  ,表中2列,你能不能
insert into student(gradename) values('XXX班级')
1.真实的做表过程
  1.定制表结构
  2.添加约束  (唯一约束  检查约束 主键约束   外键约束  默认值约束)
  3.伪造记录 测试数据
3.约束添加
  主键约束
  alter table grade
  add constraint PK_GradeId Primary key grade(gradeid)
  --删除主键
 #取消主键列的自增,再删除主键
 ALTER TABLE student MODIFY studentno INT
 #删除主键
 ALTER TABLE student DROP PRIMARY KEY
  外键约束
  alter table student
  add constraint FK_Grade_Student_GradeId Foreign key (gradeid) referrences grade(gradeid)
---删除外键   界面上(图形化界面)直接点击无效 (1.先用如下命令删除  2.再点击鼠标删除)
  alter table  student
  drop foreign key FK_Grade_Student_GradeId
  唯一约束 年级名称唯一()
  alter table grade
  add constraint UK_Gradename UNIQUE Key(gradename) 
 
   ---删除唯一约束
   alter table grade
   drop index UK_Gradename
  默认值约束
  alter table grade
  alter column gradename set default 'X班'
  --删除语法
   alter table grade
    alter column gradename drop default
  检查约束  mysql中不起作用 
   alter table student
   add constraint CK_GradeID Check(gradeid<7) 
   --无法删除
4.一个问题
  有人不会设置外键?
  解析:1.找到外键表    1的一方是主表
        2.外键表中有非法数据
 3.主外键表中公共列的类型必须相同
5. 默认值约束
  alter  table grade
  alter column 列名 set default '默认值'
7.什么是引擎?
 解析:能让程序启动并执行的一个程序,也称之为驱动。
搜索引擎指自动从因特网搜集信息,经过一定整理以后,提供给用户进行查询的系统。
因特网上的信息浩瀚万千,而且毫无秩序,所有的信息像汪洋上的一个个小岛,
网页链接是这些小岛之间纵横交错的桥梁,而搜索引擎,则为用户绘制一幅一目了然的信息地图,
供用户随时查阅。它们从互联网提取各个网站的信息(以网页文字为主),建立起数据库,
并能检索与用户查询条件相匹配的记录,按一定的排列顺序返回结果。
个人理解:在软件行业中,能给程序员提供工具类型的帮助的代码集锦等小工具。可以看成是一个引擎。
8.修改表
 
8.1 我有一张学生表
    SQLServer  中  studentbak
    select * into 新表名 from  student
    MYSql      中  studentbak
    create table 新表 
    select * from 旧表
 一次性向表中走N条记录
  Sql Server:
  insert into s2229(LoginPwd, StudentName, Gender, GradeId, Phone, Address, Birthday, Email)
  select LoginPwd, StudentName, Gender, GradeId, Phone, Address, Birthday, Email from student
  Mysql:
    insert into s2229(LoginPwd, StudentName, Gender, GradeId, Phone, Address, Birthday, Email)
  select LoginPwd, StudentName, Gender, GradeId, Phone, Address, Birthday, Email from student

删除 之delete 和Truncate 巅峰对决
VS1:delete 可以有where ,删除部分记录  ,Truncate 一删除所有记录
VS2: delete  删除后可以恢复,记录日志     Truncate 删除后不可恢复,不记录日志
VS3: delete  删除效率低一些               Truncate  删除速度快,效率高
VS4:delete  删除后编号会接着上次最大值   Truncate  截断表:编号从1开始
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值