(知识回顾) 连接数据库 mysql -uroot -p111 先建立一个新库 create database test1; use test1; 由于今天的主要内容是表的操作,建立表的详细过程不是本文的重点 我就直接给出建表的代码 mysql> create table xinshui( -> id int primary key, -> name varchar(10), -> sex char(1), -> company varchar(20), -> sala…
create table 表名 ( 列名1 列属性, 列名2 列属性 ... ... 列名n 列属性 )engine myisam charset utf8; (增加表的一列) (一)在表的最末列增加一列 (二)在指定列后加入某列 (三)在表的最前面增加一列 (删除列) (修改某一列的属性) 把username中的char(20) 改成char(30) (修改某一列的名字及列类型) 把username的列名改为name (值得注意的是:除了表名,表的属性也会改变)…
在查询中,我们经常把查询结果当成临时表 view可以看成是一张虚拟表,是表通过某种运算得到的一个投影 在建立视图时,不需要指定视图的列名与列类型 红框内的为select选择语句 蓝框内的与建表语句类似 在建立了view stats视图后,表的操作在视图上都可以实现 视图的作用 (1)简化查询 (2)更精细的权限控制 比如用户表,2个网站合作,可以查询对方网站的用户 需要向对方开放用户表权限,但是有不想开放密码字段 (3)数据多,分表时可以用到 表与视图数据变化时的关系 更改数据后 cat_id…
为方便本节学习, 请先自行建立本表: 建一个商品表: create table goods ( -> goods_id mediumint(8) unsigned not null auto_increment, -> cat_id smallint(5) unsigned not null default '0', -> goods_sn varchar(60) not null default '', -> goods_name varchar(120) not null de…
建立一张简单的查询视图,不用临时表,只用条件合并 在简单的查询中,建立临时表的开销比较大 这是可以指定algorithm选项为merge 在v2的视图中,并没有建立临时表 但在下列情况下,必须建立临时表 不能接着按照建立的临时表继续写MySQL语句时,用temptable 如果拿不准用什么,algorithm = undefined, 上系统决定…
(一) 把建立的goods表找到 (二) 当cat_id = 3时,计算所有商品的库存量之和 计算每个cat_id下的库存量(group by) 需要用到分组,把每个红框内的计算在一起 筛选出本店价比市场价低200以上的商品 或 where条件是计算对最初列的计算 having是对结果集进行再次筛选 综合练习 查询每种商品积压的货款(本店价*库存量) 该店积压的总货款 查询每个cat_id下的货款 查询出积压货款金额>2000的cat_id…
先把之前建的goods表找到 找到最贵的本店价(max) 找到最便宜的本店价(min) 查出一共还有多少商品(count) 查看商品价的平均价(avg) 查看本店有多少种商品 当count(*)时 输出的时绝对行数 而count(列名)时,输出行数为不为null的 mysql> select * from test4; +------+------+ | id | name | +------+------+ | Lili | | NULL | +------+------+ rows in s…
先选择goods表 set names gbk; 把本店价从低到高排序(order by) (注意)order by 要放在where, group by, having之后 查询本店价从高到低排序 按发布时间降序排列(把最新的放在最前面) (按照两种因素排序) 按cat_id进行升序排序,再按shop_price进行降序排序 多字段排序,先按照第一个字段排,如果第一个字段相同,才会按第二个字段排序 想取出最贵的十个产品(limit) 查询出本店价在3到5之间的商品 limit后如果只有一个数字…
说明(2017-5-25 16:29:35): 1. VS2010,视图->服务器资源管理器->数据连接->右键添加连接->服务器名(本机可以用点)->选择数据库->高级里面可以看其他选项,及连接字符串 2. 连接字符串 (1)string str = "Data Source=.; Initial Catalog=jjwdb; Integrated Security=True"; (2)string str = "Data Source=…
说明(2017-5-25 10:49:50): 1. app.config文件 Alt+Shift+C创建类,选择“应用程序配置文件”,添加<connectionStrings>,要先打个“<”,不然不自动生成代码,再添加add,里面是sqlite的连接字符串. <?xml version="1.0" encoding="utf-8" ?> <configuration> <connectionStrings>…
本篇原文链接: Implementing Basic CRUD Functionality 说明:学习笔记参考原文中的流程,为了增加实际操作性,并能够深入理解,部分地方根据实际情况做了一些调整:并且根据自己的理解做了一些扩展. 本人的学习环境: VS2017 + EF 6.1.3 + .NET 4.6.1 上一篇已完成数据库创建.基本的List页面显示:本篇操练如何进行增删改查: 第一步: Read (Details) 这个相对比较简单,只是显示详细信息,具体显示的一些技巧还是要学习 MVC的V…
EF6学习笔记总目录 ASP.NET MVC5 及 EF6 学习笔记 - (目录整理) 接上篇: EF6 学习笔记(一):Code First 方式生成数据库及初始化数据库实际操作 本篇原文链接: Implementing Basic CRUD Functionality 说明:学习笔记参考原文中的流程,为了增加实际操作性,并能够深入理解,部分地方根据实际情况做了一些调整:并且根据自己的理解做了一些扩展. 本人的学习环境: VS2017 + EF 6.1.3 + .NET 4.6.1 上一篇已完…
1数据库的增删改查 一.增加一个数据库: use blog-----切换到指定的数据库,如果数据库不存在,则自动创建该数据库(新建的数据库,如果没有存储对应的集合,是不会显示出来的) 二.删除一个数据库 1首先用use 切换到你需要删除的数据库 use test 2然后执行db.dropDatabase()命令 db.dropDatabase() 三.修改一个数据库的名字 db.copyDatabase(fromdb, todb, fromhost) fromdb:源数据库, todb:目标数据…
先建立一张 m 表 mysql> create table m ( -> mid int, -> hid int, -> gid int, ), -> matime date -> )engine myisam charset utf8; Query OK, rows affected (0.07 sec) mysql> insert into m -> values -> (1, 1, 2, '2:0', '2018-08-03'), -> (…
(01)建表的过程实际上是 声明字段 的过程 一. 列类型(字段): 存储同样的数据时,不同的列类型,所占据的空间和效率是不一样的,这就是建表时要考虑的意义. 二.MySQL三大列类型     数值型     整型     tinyint 占据空间:1个字节 存储范围:0 - 255, -128 - 127 smallint 占据空间:2个字节 储存范围:-32768 - 32768, 0 - 65535 int 占据空间:4个字节 储存范围:-2147483648 - 2147483647 0…
关于触发器的理解: 进行数据库应用软件的开发时,有时我们碰到表的某些数据的改变时,希望同时 引起其他相关数据改变的需求,利用触发器就能满足这样的需求. 触发器能在表中的某些特定数据变化时自动完成某些查询,运用触发器不仅仅可以 简化程序,而且可以增加程序的灵活性 触发器是一类特殊的事务: 可以监视某种数据的操作(insert/update/delete) 并触发相关的操作(insert/update/delete) 需求: 商品表:goods 订单表:ord 当下一个订单时,对应的商品要相应减少(…
engine 引擎就是MySQL存储数据的不同方式 myisam 插入速度快 支持全文索引 innoDB 插入速度慢 支持事务安全 假设两人同时购买火车票,两人同时看到只有一张火车票,几乎同时下单 或 在银行转账时,张三转李四500元,两边必须都完成,转账才算完成, 张三少钱和李四多钱必须一致的,这个两个操作必须同时成功或同时失败,不能一个成功,而另一个失败 需要用到事物 建立两张完全一样的表,但是引擎不一样 各插入两条数据: mysql> insert into a1 -> values )…
先找到goods表 查询goods_id最大的商品 where型的子查询 查询goods_id最大的商品(不能用排序) 把两步写成一步,就是子查询 from型子查询 查找出每种cat_id下goods_id最大的商品 思路:1. 先用cat_id进行排序,再用goods_id进行降序排列 2. 再用Mysql中特有的group by 语句(只有在MySQL中group by 才能查询goods_name 并且group by查到的goods_name只能显示第一个查到的内容) exists 型子…
(01) 连接数据库 mysql -uroot -p 之后输入密码 ******.(由于我的密码设置的是111,所以输入的是111) (02) 退出数据库 exit (03) 查看数据库 show databases; (04) (重点) 建立数据库 create database test1; 如果想查看刚刚建立的数据库,依然输入create databases; 从8行到9行,多了一个刚刚建立的数据库 (05) 删除一个数据库 drop database test1; (06) 把数据库改名…
---恢复内容开始--- cursor 指在1条sql,对应N条资源,取出资源的接口/句柄,就是游标 沿着游标,可以一次取出一行 对于游标,必须要先声明一下 fetch 会读取每一条记录,当没有时,会返回 ERROR 1329 也可以利用while循环或repeat循环来做 while 或 repeat 还可以用游标越界时的标记进行判断停止 这里的exit handler, 除此之外,还有continue exit 在不满足时,会退出,而continue会继续执行…
(一)数学函数 abs(x)              返回x的绝对值 bin(x)               返回x的二进制(oct返回八进制,hex返回十六进制) ceiling(x)          返回大于x的最小整数值 exp(x)  返回e的x次方 floor(x)  取整函数 (二)聚合函数 avg(col)        返回指定列的平均值 count(col)   返回指定列中非null值的个数 min(col)   返回指定列的最小值 max(col)  返回指定列的最大…
MySQL数据库-数据表.以及列的增删改查 1.创建一个表 CREATE(创建) TABLE(表) ENGINE(引擎) ENGINE=INNODB(引擎)还有很多类引擎,这里只是简单的提一下INNODB引擎,INNODB引擎支持事务(回滚),也就是一个事务执行时如果没有完成数据可以回滚 CHARSET(字符编码) CREATE TABLE(创建表) -- 创建表说明: -- create table 表名( -- 列名 类型(最大字符数) 是否可以为空, -- 列名 类型(最大字符数) 是否可…
对数据库的增删改查 新增数据库 修改数据库 删除数据库 对表的增删改查 新增表 修改表 删除表 对记录的增删改查 数据库安全性问题的演示 演示脏读 ​ 一个事物里面读到了另外一个事物没有提交的数据: read uncommitted 1.开启A,B窗口 2.分别查询A,B的隔离级别 select @@tx_isolation; 3.设置A窗口的隔离级别为read uncommitted(读未提交) set session transaction isolation level read unco…
Django作为重量级的Python web框架,在做项目时肯定少不了与数据库打交道,编程人员对数据库的语法简单的还行,但过多的数据库语句不是编程人员的重点对象.因此用ORM来操作数据库相当快捷.今天来介绍一下用ORM操作数据库. 创建Django项目可以使用pycharme专业版直接快速创建.如果不是专业版也可以使用命令进行创建.下面列出命令行创建方式:django-admin startproject orm_test这时会在当前目录创建文件夹名为orm_test,接下来进入orm_test…
前面我们讲了mysql的基本内容,现在我们详细的了解一下mysql中的具体操作. what's the SQl SQL(Structured Query Language 即结构化查询语言) SQL语言主要用于存储数据.更新数据和管理关系数据系统,由IBM开发. SQL语句分为三种: DDL语句   数据库定义语言:数据库.表.视图.索引.存储过程,例如create.alter DML语句   数据库操纵语言:插入数据insert.删除数据delete.更新数据update.查询select D…
前面两课我们了解了ES的基本概念并且学会了安装ES,这节课我们就来讲讲ES基本的增删改查:ES主要对外界提供的是REST风格的API,我们通过客户端操作ES本质上就是API的调用.在第一课我们就讲了索引.类型和文档的含义,它们分别对应MYSQL的数据库.表和一行数据.所以,我们在讲ES的API时,大家可以按照MYSQL的SQL语句对应做理解. ES Restful API GET.POST.PUT.DELETE.HEAD含义(这几个是API的基本概念): 1)GET:获取请求对象的当前状态. 2…
一.基本环境配置: 1,首先到官网(http://www.mongodb.org/downloads )下载合适的安装包,然后一步一步next安装,当然可以自己更改安装目录:安装完成之后,配置环境变量,找到安装目录下的bin文件夹,在电脑环境变量里,加入其路径(D:\MongoDB\bin,我安装在D盘内): 2,建立一个用于存放数据库文件的目录:windows默认使用C:\data\db作为数据目录.但是在安装过程中,不会自动建立文件或者文件夹,需要自己创建.当然我们也可以在系统的任意位置创建…
Spring的jdbcTemplate操作 1.Spring框架一站式框架 (1)针对javaee三层,每一层都有解决技术 (2)到dao 层,使用 jdbcTemplate 2.Spring对不同的持久化都进行了封装 (1)jdbcTemplate  对  jdbc 进行封装 3.jdbcTemplate 使用和 dbutils 使用很相似,都是对数据库进行 crud 操作 4.使用jdbcTemplate 实现增删改查操作 增加: 1.导入 jdbcTemplate 相关jar 包 一定要导…
第一篇笔记中记录了如何实现表格的增删改,那个是点击之后跳出来一个对话框然后进行的,这里是在表格本身上进行的操作,也很简单,但是这里发现一个版本问题,也可以说是兼容性问题. 1.首先我们看引用的js和css代码 <link rel="stylesheet" href="jquery-easyui-1.3.5/themes/default/easyui.css" /> <link rel="stylesheet" href=&quo…
------------------------------------------只有对前途乐观的人,才能不怕黑暗,才能有力量去创造光明.乐观不是目的,而是人生旅途中的一种态度. 多表操作 创建模型 实例:我们来假定下面这些概念,字段和关系 作者模型:一个作者有姓名和年龄. 作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等信息.作者详情模型和作者模型之间是一对一的关系(one-to-one) 出版商模型:出版商有名称,所在城市以及email. 书籍模型: 书籍有书名和出版日期…