第二章
1:创建数据库
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

二:.创建数据表
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 '默认值'

6.赵昌平  检查约束

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开始

#主键约束
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) #删除外键界面上(图形化界面) 直接点击无效(.先用如下命令删除2.再点击鼠标删除)
ALTER TABLE
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 gredename DROP DEFAULT; #检查约束 ALTER TABLE student
ADD CONSTRAINT CK_GradeID CHECK(gradeid<) # 创建备份表 CREATE TABLE student2
SELECT *FROM student #修改表名
ALTER TABLE student2 RENAME student3 #添加字段
ALTER TABLE grade ADD result VARCHAR() NOT NULL #修改字段
ALTER TABLE student CHANGE idNumber identityCard CHAR() NOT NULL #删除字段
ALTER TABLE grade DROP result #插入单行数据
INSERT INTO student (loginPwd,studentName,sex,gradeID,phone,address,bornDate,email,identityCard)
VALUES(,'蚊','男',,,'北京','1999-08-09','1234@qq.com',''); #插入多行数据
INSERT INTO student (loginPwd,studentName,sex,gradeID,phone,address,bornDate,email,identityCard)
VALUES(,'蚊','男',,,'北京','1999-08-09','1234@qq.com',''),
(,'周明','男',,,'海淀','2001-09-09','123456@qq.com','');
---------------------------------------------------
#连接字符串
SELECT CONCAT ('','','')
#替换值
SELECT INSERT ('这是SQL Server数据库的',,,'my SQL')
#全部变为小写
SELECT LOWER ('my SQL')
#全部变为大写
SELECT UPPER ('my SQL')
#截取
SELECT SUBSTRING('wwfdduu',,)
#当前的日期
SELECT CURDATE();
#当前的时间
SELECT CURTIME();
#当前日期和时间
SELECT NOW();
#返回一年的第几周期
SELECT WEEK(NOW());
#返回日期的年份
SELECT YEAR(NOW());
#返回小时值
SELECT HOUR(NOW());
#返回分钟值
SELECT MINUTE(NOW());
#之间相隔的天数
SELECT DATEDIFF(NOW(),'2008-8-8');
#加上几天后的天数
SELECT ADDDATE(NOW(),);
#返回最小值的整数
SELECT CEIL(2.3);
#返回最大值的整数
SELECT FLOOR(3.4);
#-1之间的随机数
SELECT RAND();

使用MYSQL数据库实现编程----第二章第三章课堂知识小总结的更多相关文章

  1. 程序员编程艺术:第三章续、Top K算法问题的实现

    程序员编程艺术:第三章续.Top K算法问题的实现 作者:July,zhouzhenren,yansha.     致谢:微软100题实现组,狂想曲创作组.     时间:2011年05月08日    ...

  2. 《Mysql 公司职员学习篇》 第三章 小A的疑问

    第三章 小A的疑问  ---- 数据类型和自增列 小A拿着鸡腿,回到了房间里面,咬了一嘴油,说:"我有2个疑问,在Excell里面,像列PetAge(宠物年龄)这样的数字,我一般会设置成数值 ...

  3. Python黑帽编程3.0 第三章 网络接口层攻击基础知识

    3.0 第三章 网络接口层攻击基础知识 首先还是要提醒各位同学,在学习本章之前,请认真的学习TCP/IP体系结构的相关知识,本系列教程在这方面只会浅尝辄止. 本节简单概述下OSI七层模型和TCP/IP ...

  4. CSS3秘笈复习:第一章&第二章&第三章

    第一章: 1.<cite>标签不仅可以将网页设置为斜体,还能给标题做上标记,使它便于被搜索引擎搜索到. 第二章: 1.import指令链接样式表: CSS本身有一种添加外部样式的方法:@i ...

  5. jQuery复习:第二章&第三章

    第二章 一.选择器 1.层次选择器 $(“ancestor descendant”)选取ancestor元素里的所有后代元素 $(“parent > child”)选取parent元素下的chi ...

  6. CSAPP深入理解计算机系统(第二版)第三章家庭作业答案

    <深入理解计算机系统(第二版)>CSAPP 第三章 家庭作业 这一章介绍了AT&T的汇编指令 比较重要 本人完成了<深入理解计算机系统(第二版)>(以下简称CSAPP) ...

  7. JavaScript高级编程学习笔记(第三章之一)

    继续记笔记,JavaScript越来越有意思了. 继续... 第三章:JavaScript基础 ECMAScript语法在很大程度上借鉴了C和其它类似于C的语言,比如Java和Perl. 大小写敏感: ...

  8. 《Linux命令行与shell脚本编程大全》 第三章 学习笔记

    第三章:基本的bash shell命令 bash程序使用命令行参数来修改所启动shell的类型 参数 描述 -c string 从string中读取命令并处理他们 -r 启动限制性shell,限制用户 ...

  9. 《Python核心编程》第二版第三章答案

    本人python新手,答案自己做的,如果有问题,欢迎大家评论和讨论! 更新会在本随笔中直接更新. 我在Windows使用python版本是2.7.0 3–10. 异常.使用类似readTextFile ...

随机推荐

  1. 《UnityShader入门精要》学习笔记之渲染流水线

    第一种分类方式: 图形管道(如下7步): 顶点数据 : 由3D模型传递的三角形网格 顶点着色 : 编写CG程序对各个顶点进行着色 生成几何图元 : 连接特定的顶点生成几何图元,例如连接三个顶点生成一个 ...

  2. 第 6 章 存储 - 039 - Data Volume 之 bind mount

    Data Volume Data Volume 本质上是 Docker Host 文件系统中的目录或文件,能够直接被 mount 到容器的文件系统中. Data Volume 有以下特点: 1.Dat ...

  3. linux下python操作的一些命令

    1.查看python当前版本以及安装路径 [root@localhost bin]# python -V Python [root@localhost HMK]# whereis python pyt ...

  4. LeetCode--004--寻找两个有序数组的中位数(java)

    转自https://blog.csdn.net/chen_xinjia/article/details/69258706 其中,N1=4,N2=6,size=4+6=10. 1,现在有的是两个已经排好 ...

  5. 静默安装/ 普通安装与root权限获取相关

    静默安装 有时候使用第三方的插件时我们需要静默安装其提供的apk包,静默安装时我们需要获取root权限,如下代码 Process process = Runtime.getRuntime().exec ...

  6. python基础之函数名的使用,闭包以及迭代器

    内容梗概: 1. 函数名的使⽤用以及第⼀一类对象 2. 闭包 3. 迭代器 1.函数名一. 函数名的运⽤.函数名是一个变量, 但它是⼀个特殊的变量, 与括号配合可以执行函数的变量.1.1 函数名的内存 ...

  7. kohana操作数据库

    一.读取数据库记录 读取数据库记录需要使用到 DB::select() 方法 // 返回一个结果对象 $result = DB::select('column')->from('table_na ...

  8. sqlite3 删除数据

    cx = sqlite3.connect("c:/数据库地址") # 打开数据库cu = cx.cursor()# delete the rowcu.execute("d ...

  9. 七、持久层框架(MyBatis)

    一.MyBatis学习 平时我们都用JDBC访问数据库,除了自己需要写SQL,还要操作Connection,Statement,ResultSet这些. 使用MyBatis,只需要自己提供SQL语句, ...

  10. 【转】vue技术分享-你可能不知道的7个秘密

    一.善用watch的immediate属性 这一点我在项目中也是这么写的.例如有请求需要再也没初始化的时候就执行一次,然后监听他的变化,很多人这么写: created(){ this.fetchPos ...