[(列列表)] values (第一个数据值 eg 'test','1234',---),(第二个数据值)----
省略列列表的话,则是对所有列插入值,而且要对应。
插入数值时不用引号,插入字符数据和date数据时要用引号
(2)插入一块数据 用insert into ----select
insert into 表名1
select 表名1的列
from 另一个表/另一个数据库的表
where ----
update语句 用来更新已有的数据
update 表名
set 列名1='新的值' ,列名2='新的值'
where ID=4;
SET语句可灵活多变,可为表达式。最好不要更新主键。。
delete语句 删除整行或表
delete 表名
[where 约束条件]
四、连接join (操作多个表)
(1)内部连接(排除不匹配的字段)
仅仅返回那些在两个表中存在字段匹配 的记录。(排他特性 )类似于where子句
语法结构:SELECT 查询的列名
FROM 第一个表(左侧)
[inner] join 第二个表(右侧)
on 连接条件(表1的某列和表2的某列相等)
说明:inner为默
认的,可以不写。。
(2)外部连接 (包含特性 )(要匹配数据,返回仅一侧)
left/right [outer] 左连接的结果来自左侧的表,右连接来自右侧的表。
(3)完全连接 (要匹配数据,返回两侧)
full join 返回两侧数据表的所有数据,对方没有匹配的显示null。 此种连接很少用
(4)交叉连接
返回两侧数据表的笛卡尔积,相乘。。使用CROSS关键字,而不使用ON
SELECT v.VendorName, a.AddressName
FROM Vendors v
CROSS JOIN Address a
(注:v和a分别是表 Vendors和 Address 的别名 )
(高等数学中有许多笛卡尔积的函数,,交叉连接常用来建立测试数据和科学领域。)
(5)联合(UNION)
用于使两个或两个以上的查询产生一个结果集。 其并不是真正的连接,其作用更像是将一个查询返回的数据附加到另一个查询结果的末尾。。
join将信息水平连接(添加更多列),而union将数据垂直连接(添加更多行) 。
五、 创建和修改数据表
一、 SQL Server中的对象名
SQL Server 表有 4 层命名约定。完全限定命名如下所示:
[ServerName.[DatabaseName,[SchemaName.]]]ObjectName
模式名称(SchemaName)
如果使用模式,那么需要指定对象是在哪种模式下的。不同模式下可以有两个同名的对象。如果想访问不在默认模式下的对象,那么需要特别指明对象的模式名称
1. 默认模式:dbo
无论谁创建了数据库,都被认为是"数据库所有者",即 dbo 。在数据库里面创建的任何对象都带有 dbo 模式,而不是个体的用户名。
另外, sa (或者 sysadmin 角色的成员)总是 dbo 的别名。即无论是谁实际上拥有数据库, sa 总拥有完全的权限,就好像是 dbo 一样。而且 sa 登录创建的任何对象都显示所有权为 dbo 。
二、 CREATE语句
CREATE 语句用来创建数据库中的对象。 CREATE 的第一部分看起来总是这样的:
CREATE
4.2.1 CREATE DATABASE
CREATE DATABASE
代码示例:
CREATE DATABASE Accounting
ON
(
NAME = 'Accounting',
FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\ AccountingData.mdf',
SIZE = 10MB,
MAXSIZE = 50MB,
FILEGROWTH = 5MB
)
LOG ON
(
NAME = 'AccountingLog',
FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\ AccountingLog.ldf',
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB
)
各选项含义:
1. ON
ON 用在两个地方:一个定义存储数据的文件的位置,二是定义存储日志的文件的位置。
2. NAME
指定定义的文件的名称,但是只是一个逻辑名称 —— 即 SQL Server 在内部使用该名称引用该文件。
3. FILENAME
指定文件的物理名称。数据文件的推荐扩展名为 .mdf ,日志文件的推荐扩展名为 .ldf ,附属文件的推荐扩展名为 .ndf 。
4. SIZE
指定文件的初始大小。默认情况下,大小的单位是 MB (兆字节),还可以使用 KB 、 GB 或者 TB 。要记住,这个值至少与模型数据库一样大,而且必须是整数,否则将出错。默认的值与模版数据库一样。
5. MAXSIZE
指定文件长度的最大值。默认情况下,大小的单位是 MB 。这个选项没有默认值,如果没有提供该选项,则表示不限制最大值。
6. FILEGROWTH
指定当扩张文件时每次的扩张量,可以提供一个值来说明文件每次增加多少字节,或者提供一个百分比,指定文件每次增长的百分比。
7. LOG ON
指定日志文件。注意日志文件默认的大小是数据文件大小的 25% 。其他方面,日志文件和数据库文件的说明参数相同。
4.2.2 创建数据表
创建表的语法如下:
1. 表和列名称
表和列的推荐命名规则:
2. 数据类型
注意没有默认的数据类型
3. DEFAULT
如果要使用默认值,就必须紧跟在数据类型之后给定这个值。
4. IDENTITY
当你设定一个列为标识列 时, SQL Server 自动分配一个顺序号给你插入的每个行。注意 IDENTITY 列和 PRIMARY KEY 列是完全不同的概念,既不会因为有一个 IDENTITY 列就说明这个值是唯一的(例如,可以重新设置种子,使用前面用过的值)。 IDENTITY 值通常用于 PRIMARY KEY 列,但并不是必须这样使用。
6. NULL/NOT NULL
默认的设置是列值是 NOT NULL ,除非指定允许为空。 然而,有很多不同的设置可以改变这个设置,从而影响这个默认值。
7. 列约束
列约束就是对单个列设置的关于该列可插入数据的限制和规则。
9. 表约束
表约束和列约束很相似,但表约束可以基于多个列。表层次的约束包括 PRIMARY KEY 约束、 FOREIGN KEY 约束以及 CHECK 约束。
12. 创建一个表
USE Accounting
CREATE TABLE Customers
(
CustomerNo INT IDENTITY NOT NULL,
CustomerName VARCHAR(30) NOT NULL,
Address1 VARCHAR(30) NOT NULL,
Address2 VARCHAR(30) NOT NULL,
City VARCHAR(20) NOT NULL,
State CHAR(2) NOT NULL,
Zip VARCHAR(10) NOT NULL,
Contact VARCHAR(25) NOT NULL,
Phone CHAR(15) NOT NULL,
FedIDNo VARCHAR(9) NOT NULL,
DateInSystem SMALLDATETIME NOT NULL
)
使用 sp_help 存储过程查看表的信息:
EXEC sp_help Customers
4.3 ALTER语句
ALTER 语句用来更改对象。 ALTER 语句总是有相同的开头:
ALTER
4.3.1 ALTER DATEBASE
示例:
ALTER DATABASE Accounting
MODIFY FILE
(
NAME = Accounting,
SIZE = 100MB
)
4.3.2 ALTER TABLE
更经常的情况是改变表的结构 。这个可以是增加、删除一列或者改变一列的数据类型 等。示例:
ALTER TABLE Employees
ADD
PreviousEmployer VARCHAR(30) NULL,
DataOfBirth DATETIME NULL,
LastRaiseDate DATETIME NOT NULL, DEFAULT '2005-01-01'
4.4 DROP语句
DROP 语句用来删除对象 。
DROP [, ...n]
如果需要, 可以同时删除两个表:
USE Accounting
DROP TABLE Customers, Employees
删除整个数据库:
DROP DATABASE Accounting
4.5 使用GUI工具
SQL Server Management Studio 不用写sql语句,图形化操纵数据库。
第 5 章 键和 约束
确保数据的完整性不是使用数据的程序的责任,而是数据库本身的责任。将数据完整性的责任移到数据库本身是数据库管理的一次革命。
较高层次上的3 种不同类型的约束:
具体的约束类型:
PRIMARY KEY 约束
FOREIGN KEY 约束
UNIQUE 约束(唯一约束)
CHECK 约束
DEFAULT 约束
5.1 约束的类型
5.1.1 域约束
域约束处理一个或多个列 ,确保一个特定列或一组特定列满足特定的标准。
5.1.2 实体约束
实体约束都是关于每个行的 。这种形式的约束并不关心一个整体的列,只对特定的行感兴趣,如 PRIMARY KEY 约束和 UNIQUE 约束。
5.1.3 参照完整性约束
参照完整性约束是在某列的值必须与其他列的值匹配时创建的,列可以在同一个表中,或者更通常的是在不同的表中,如 FOREIGN KEY 约束 。
5.2 约束命名
常见的约束的推荐命名规则如下:
如在Customers表上对PhoneNo列设置约束:CK_Customers_PhoneNo,Customers表上的主键约束:PK_Custoemrs_CustomerID。
5.3 键约束
常用的键类型:主键、外键、唯一约束。
5.3.1 主键约束
1. 在创建表的时候创建主键约束 。主键:每行的唯一标识符,必须包含唯一的值(因此不能为null)。
一个表中最多可以有一个主键 。
CREATE TABLE Customers
(
CustomerNo INT IDENTITY NOT NULL PRIMARY KEY ,
......
)
2. 在已存在的表上创建主键约束。
USE Accounting
ALTER TABLE Employees
ADD CONSTRAINT PK_EmployeeID
PRIMARY KEY (EmployeeID)
5.3.2 外键约束
外键既能确保数据完整性,也能表现表之间的关系。一个表中可以有多个(0-253)外键,但一个给定的列只能引用一个外键,,一个外键可以涉及多列。
在 CREATE 语句中设置一列或几列外键约束 的语法如下所示:
FOREIGN KEY REPERENCES < table name >()
[ON DELETE {CASCADE|NO ACTION|SET NULL|SET DEFAULT}]
[ON UPDATE {CASCADE|NO ACTION|SET NULL|SET DEFAULT}]
示例: (创建了由四列组成的Orders表 )
USE Accounting
CREATE TABLE Orders
(
OrderID INT IDENTITY NOT NULL
PRIMARY KEY,
CustomerNo INT NOT NULL
FOREIGN KEY REFERENCES Customers (CustomerNo) ,
OrderDate SMALLDATETIME NOT NULL,
EmpoyeeID INT NOT NULL
)
上面的声明:将表Orders的 CustomerNo列声明为依赖于外部列( Customers.CustomerNo )
1. 在已存在的表中添加一个外键
ALTER TABLE Orders
ADD CONSTRAINT FK_EmployeeCreatesOrder
FOREIGN KEY (EmployeeID) REFERENCES Employees(EmployeeID)
2. 使一个表自引用
在实际创建自引用约束之前,很关键的一点是在添加外键之前表中至少有一行 。
ALTER TABLE Employees
ADD CONSTRAINT FK_EmployeeHasManager
FOREIGN KEY (ManagerEmpID) REFERENCES Employees(EmployeeID)
注:SQL Server不允许删除一个被其他表引用的表(被引用表)。必须先在引用的表中删除外键,才可以删除被引 用表 。
3. 级联动作
外键是双向的 ,即不仅是限制子表的值必须存在于父表中,还在每次对父表操作后检查子行。SQL Server 的默认行为
是在子表存在时 " 限制 " 父表不被删除。然而,有时会自动删除任何相关记录,而不是防止删除被引用的记录。同样,
在更新记录时,可能希望相关的记录自动引用刚刚更新的记录。这种进行自动删除和更新的过程称为级联 。通过修改
声明外键的语法 —— 添加 ON 子句,来定义级联操作 。
CREATE TABLE OrderDetails
(
OrderID INT NOT NULL,
PartNo VARCHAR(10) NOT NULL,
Description VARCHAR(25) NOT NULL,
Qty INT NOT NULL,
CONSTRAINT PK_OrderDetails
PRIMARY KEY (OrderID, PartNo),
CONSTRAINT FK_OrderContainsDetails
FOREIGN KEY (OrderID)
REFERENCES Orders(OrderID)
ON UPDATE NO ACTION
ON DELETE CASCADE
)
如果对外键定义了 CASCADE(级联) ,则操作会从父表级联到子表中。即,如果从父表删除了某项,子表中依赖该项的项都会被删除;如果从父表中更新了某项,则子表中依赖该项的字段也会被更新。
值得注意的是: CASCADE 动作所能影响的深度没有限制。
4. 其他操作
NO ACTION 为默认操作,即如果子表有依赖,则禁止对父表中的该字段进行删除和更新操作 。
SET NULL 操作会在父表中的该字段被删除或者更新时,将子表中的依赖项设为 NULL ,前提是子表中的该项可为 NULL 值。
SET DEFAULT 操作会在父表中的该字段被删除或者更新时,将子表中的依赖项设为在子表中定义的默认值,当然前提是在子表中该字段有默认值。
5.3.3 唯一约束
要求指定的列上有一个唯一值,表中可以有多个唯一约束(而主键只能有一个)
唯一约束不会自动防止您设置一个 NULL 值。是否允许 NULL 值取决于表中相应列的 NULL 选项的设置 。然而,要记住如果您确实允许NULL 值,那么只能插入一个 NULL 。
在创建表时设置唯一约束:
CREATE TABLE Shippers
(
ShipperID INT IDENTITY NOT NULL PRIMARY KEY,
ShipperName VARCHAR(30) NOT NULL,
Address VARCHAR(30) NOT NULL,
City VARCHAR(25) NOT NULL,
State CHAR(2) NOT NULL,
Zip VARCHAR(10) NOT NULL,
PhoneNo VARCHAR(14) NOT NULL UNIQUE
)
在已存在的表中创建唯一约束:
ALTER TABLE Employees
ADD CONSTRAINT AK_EmployeeSSN
UNIQUE (SSN)
在约束名称中的 AK 前缀代表"交替键( Alternate Key )",也可以使用前缀 UQ 或者简单的 U ,代表唯一约束。
5.4 CHECK约束
CHECK 约束使用与 WHERE 字句一样的规则来定义 。CHECK 约束标准的示例如下:
目标
SQL
限制 Month 列为合适的数字
BETWEEN 1 AND 12
合适的 SSN 格式
LIKE '[0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9][0-9][0-9]'
限制 Shippers 的一个特定列表
IN ('UPS', 'Fed Ex', 'USPS')
价格必须为正
UnitPrice >= 0
在同一行中引用另外一个列
ShipDate >= OrderDate
在已存在的表中添加CHECK约束:
ALTER TABLE Customers
ADD CONSTRAINT CK_CustomerDateInSystem
CHECK (DateInSystem <= GETDATE())
试着插入违反 CHECK 约束的记录会得到错误。
5.5 DEFAULT约束
DEFAULT 约束定义了当插入新行时,在您定义了默认约束的列中没有数据时填充的默认值 。要注意:
5.5.1 在CREATE TABLE语句中定义DEFAULT约束
示例:
CREATE TABLE Shippers
(
ShipperID INT IDENTITY NOT NULL
PRIMARY KEY,
ShipperName VARCHAR(30) NOT NULL,
DataInSystem SMALLDATETIME NOT NULL
DEFAULT GETDATE()
)
5.5.2 在已存在的表中添加DEFAULT约束
示例:
ALTER TABLE Customers
ADD CONSTRAINT DF_CustomerDefaultDateInSystem
DEFAULT GETDATE()FOR DateInSystem
5.6 使约束失效(禁用约束)
5.6.1 在创建约束时忽略无效的数据
默认情况下,除非已存在的数据满足约束标准,否则 SQL Server 将不会创建约束。要想在创建约束时,不检查已经在表中的数据是否满足约束,可以在添加约束时添加 WITH NOCHECK 选项。 示例:
ALTER TABLE Customers
WITH NOCHECK
ADD CONSTRAINT CK_CustomerPhoneNo
CHECK
(Phone LIKE '([0-9][0-9][0-9]) [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]')
5.6.2 临时使已存在的约束失效
使用 NOCHECK 选项关闭约束 ,而不是删除它。示例:
ALTER TABLE Customers
NOCHECK
CONSTRAINT CK_CustomerPhoneNo
当准备重新让约束起效时,使用 CHECK 选项代替 NOCHECK :
ALTER TABLE Customers
CHECK
CONSTRAINT CK_CustomerPhoneNo
第 6 章 更复杂的查询
6.1 子查询的概念
子查询是嵌套在另外一个查询中的正常的 T-SQL 查询。在有一个 SELECT 语句作为部分数据或者另外一个查询的条件
的基础时,通过使用括号创建子查询。
子查询通常用于满足下列需求之一:
注意:大多数的子查询可用连接JOIN来写,且应先考虑连接。
6.2 嵌套的子查询
嵌套的子查询只在一个方向嵌套 —— 返回在外部查询中使用的单个值,或者在 IN 运算符中使用的一个完整的值列表。
在最松散的意义上说,查询语法看起来像下面的两个语法模板:
SELECT
FROM
WHERE = (
SELECT
FROM
WHERE )
或者:
SELECT
FROM
WHERE IN (
SELECT
FROM
WHERE )
6.2.1 使用单个值的SELECT语句的嵌套查询
例如,假设希望知道每一天通过系统销售的产品的每个条目的 ProductID :
SELECT DISTINCK o.OrderDate, od.ProductID
FROM Orders o
INNER JOIN OrderDetails od
ON o.OrderID = od.OrderID
WHERE o.OrderDate = (SELECT MIN(OrderDate) FROM Orders)
红色的是内部查询,内部查询检索的单个的值用于外部查询。因为用的是“=”,所以只能返回一行中的一列。
6.2.2. 使用返回多个值的子查询的嵌套查询
例如,查看所有具有折扣记录的商店列表:
USE Pubs
SELECT stor_id AS "Store ID", stor_name AS "Store Name"
FROM Stores
WHERE stor_id IN (SELECT stor_id FROM Discounts)
注:出于性能方面的考虑,应使用连接方法作为默认解决方案,除非特别理由要使用嵌套的SELECT。
6.2.3. 使用嵌套的SELECT来发现孤立的记录
这种嵌套的 SELECT 和前面示例几乎相同,区别是添加了 NOT 运算符 。这个不同点时的在转化连接语法时设置等于外部连接而不是内部连接。例如,需要查询所有在Pubs 数据库中没有匹配的折扣记录的商店:
SELECT stor_id AS "Store ID", stor_name AS "Store Name"
FROM Stores
WHERE stor_id NOT IN
(SELECT stor_id FROM Discounts WHERE stor_id IS NOT NULL)
6.3 关联的子查询
6.3.1 关联的子查询的工作原理
在相互关联的子查询中,内部查询在外部查询提供的信息上运行,反之亦然。信息传递是双向的。而嵌套查询是单向的,内部查询再外部查询。 关联查询 有 3 个步骤的处理过程 :
6.3.2 在WHERE子句中的相互关联的子查询
例如,需要查询系统中每个顾客第一个订单的 OrderID 和 OrderDate :
SELECT o1.CustomerID, o1.OrderID, o1.OrderDate
FROM Orders o1
WHERE o1.OrderDate = (
SELECT MIN(o2.OrderDate)
FROM Orders o2
WHERE o2.CustomerID = o1.CustomerID )
6.3.3 在SELECT列表中的相互关联的子查询
例如,现在需要查询顾客的姓名和在哪天开始订购商品:
SELECT cu.CompanyName,
(SELECT MIN(OrderDate)
FROM Orders o
WHERE o.CustomerID = cu.CustomerID ) AS "Order Date"
FROM Customers cu
6.3.4 处理NULL数据——ISNULL函数
ISNULL() 接受一个变量或者表达式来验证是否是一个空值。如果值确实是 NULL ,那么函数返回其他预指定的值。如果原来的值不是 NULL ,那么返回原来的值。语法如下:
ISNULL(, )
因此,示例如表所示:
ISNULL 表达式
返回值
ISNULL(NULL, 5)
5
ISNULL(5, 15)
5
ISNULL(MyColumnName, 0) where MyColumnName IS NULL
0
ISNULL(MyColumnName, 0) where MyColumnName = 3
3
ISNULL(MyColumnName, 0) where MyColumnName = 'Fred Farmer'
Fred Farmer
使用示例:
SELECT cu.CompanyName,
ISNULL(CAST((SELECT MIN(o.OrderDate)
FROM Orders o
WHERE o.CustomerID = cu.CustomerID) AS VARCHAR), 'NEVER ORDERED')
AS "Order Date"
FROM Customers cu
6.3 派生表
派生表,它是虚表,在数据库中不存在的,是我们构建的,目的是为了缩小数据的查找范围。
例如,现在需要查询既订购了 Chocolade 又订购了 Vegie-spread 的所有公司名称。查询代码如下所示:
SELECT DISTINCT c.CompanyName
FROM Customers c
INNER JOIN (
SELECT CustomerID
FROM Orders o
INNER JOIN OrderDetails od
ON o.OrderID = od.OrderID
INNER JOIN Products p
ON od.ProductID = p.ProductID
WHERE p.ProductName = 'Chocolade' ) AS spen
ON c.CustomerID = spen.CustomerID
INNER JOIN (
SELECT CustomerID
FROM Orders o
INNER JOIN OrderDetails od
ON o.OrderID = od.OrderID
INNER JOIN Products p
ON od.ProductID = p.ProductID
WHERE p.ProductName = 'Vegie-spread' ) AS spap
ON c.CustomerID = spap.CustomerID
6.4 EXISTS运算符
与IN关键字很相似。
使用 EXISTS 时,根据是否存在数据满足查询中 EXISTS 语句所建立的标准,返回一个简单的 TRUE 和 FALSE。并不真正返回数据 。例如:
SELECT CustomerID, CompanyName
FROM Customers cu
WHERE EXISTS (
SELECT OrderID
FROM Orders o
WHERE o.CustomerID = cu.CustomerID)
相比连接来说,性能更高。当使用 EXISTS 关键字时, SQL Server 不需要执行一行一行的连接,而是寻找记录,直到找到第一个匹配的记录,停止在那里。只要有一个匹配, EXISTS 就为真 ,不需要继续查找。
如果需要查询没有订购任何产品的客户,可以使用 NOT EXISTS :
SELECT CustomerID, CompanyName
FROM Customers cu
WHERE NOT EXISTS (
SELECT OrderID
FROM Orders o
WHERE o.CustomerID = cu.CustomerID)
6.5 数据类型转换:CAST和CONVERT
CAST 和 CONVERT 都可以执行数据类型转换。在大部分情况下,两者执行相同的功能,不同的是 CONVERT 还提供一些日期格式转换,而 CAST 没有这个功能。
注意, CAST 是 ANSI 兼容的,而 CONVERT 不是。
各自的语法如下:
CAST (expression AS data type)
CONVERT (data type, expression[, style])
CAST 和 CONVERT 可以进行很多数据类型转换,在 SQL Server 不进行隐式转换时,需要这种转换。例如:
SELECT 'The Customer has an Order numbered ' + CAST(OrderID AS VARCHAR)
FROM Orders
WHERE CustomerID = 'ALFKI'
例如,需要将 timestamp 列转换为正常数字。一个 timestamp 是个二进制数字,因此需要转换:
SELECT CloTS AS "Uncoverted", CAST(ColTS AS INT) AS "Converted"
FROM ConvertTest
还可以转换日期:
SELECT OrderDate, CAST(OrderDate AS VARCHAR) AS "Converted"
FROM Orders
WHERE OrderID = 11050
CONVERT 还可以控制日期格式 :
SELECT OrderDate, CONVERT(VARCHAR, OrderDate, 111) AS "Converted"
FROM Orders
WHERE OrderID = 11050
CONVERT 函数最后一个代码说明需要的格式。注意,任何以超过 100 表示的是 4 位的年份;小于 100 的是两位数字的年份,不过有很少的一些例外,并且小于 100 表示的格式加上 100 后即为对应的 4 位的年份表示的格式。
转载于:https://www.cnblogs.com/peterYong/p/6556646.html
你可能感兴趣的:(【mssql】SQL Server2012编程入门经典(第四版)(上) 读书笔记)
斤斤计较的婚姻到底有多难?
白心之岂必有为
很多人私聊我会问到在哪个人群当中斤斤计较的人最多?我都会回答他,一般婚姻出现问题的斤斤计较的人士会非常多,以我多年经验,在婚姻落的一塌糊涂的人当中,斤斤计较的人数占比在20~30%以上,也就是说10个婚姻出现问题的斤斤计较的人有2-3个有多不减。在婚姻出问题当中,有大量的心理不平衡的、尖酸刻薄的怨妇。在婚姻中仅斤斤计较有两种类型:第一种是物质上的,另一种是精神上的。在物质与精神上抠门已经严重的影响
底层逆袭到底有多难,不甘平凡的你准备好了吗?让吴起给你说说
造命者说
底层逆袭到底有多难,不甘平凡的你准备好了吗?让吴起给你说说我叫吴起,生于公元前440年的战国初期,正是群雄并起、天下纷争不断的时候。后人说我是军事家、政治家、改革家,是兵家代表人物。评价我一生历仕鲁、魏、楚三国,通晓兵家、法家、儒家三家思想,在内政军事上都有极高的成就。周安王二十一年(公元前381年),因变法得罪守旧贵族,被人乱箭射死。我出生在卫国一个“家累万金”的富有家庭,从年轻时候起就不甘平凡
【iOS】MVC设计模式
Magnetic_h
ios mvc 设计模式 objective-c 学习 ui
MVC前言如何设计一个程序的结构,这是一门专门的学问,叫做"架构模式"(architecturalpattern),属于编程的方法论。MVC模式就是架构模式的一种。它是Apple官方推荐的App开发架构,也是一般开发者最先遇到、最经典的架构。MVC各层controller层Controller/ViewController/VC(控制器)负责协调Model和View,处理大部分逻辑它将数据从Mod
10月|愿你的青春不负梦想-读书笔记-01
Tracy的小书斋
本书的作者是俞敏洪,大家都很熟悉他了吧。俞敏洪老师是我行业的领头羊吧,也是我事业上的偶像。本日摘录他书中第一章中的金句:『一个人如果什么目标都没有,就会浑浑噩噩,感觉生命中缺少能量。能给我们能量的,是对未来的期待。第一件事,我始终为了进步而努力。与其追寻全世界的骏马,不如种植丰美的草原,到时骏马自然会来。第二件事,我始终有阶段性的目标。什么东西能给我能量?答案是对未来的期待。』读到这里的时候,我便
2021年12月19日,春蕾教育集团团建活动感受——黄晓丹
黄错错加油
感受:1.从陌生到熟悉的过程。游戏环节让我们在轻松的氛围中得到了锻炼,也增长了不少知识。2.游戏过程中,我们贡献的是个人力量,展现的是团队的力量。它磨合的往往不止是工作的熟悉,更是观念上契合度的贴近。3.这和工作是一样的道理。在各自的岗位上,每个人摆正自己的位置、各司其职充分发挥才能,并团结一致劲往一处使,才能实现最大的成功。新知:1.团队精神需要不断地创新。过去,人们把创新看作是冒风险,现在人们
c++ 的iostream 和 c++的stdio的区别和联系
黄卷青灯77
c++ 算法 开发语言 iostream stdio
在C++中,iostream和C语言的stdio.h都是用于处理输入输出的库,但它们在设计、用法和功能上有许多不同。以下是两者的区别和联系:区别1.编程风格iostream(C++风格):C++标准库中的输入输出流类库,支持面向对象的输入输出操作。典型用法是cin(输入)和cout(输出),使用>操作符来处理数据。更加类型安全,支持用户自定义类型的输入输出。#includeintmain(){in
《投行人生》读书笔记
小蘑菇的树洞
《投行人生》----作者詹姆斯-A-朗德摩根斯坦利副主席40年的职业洞见-很短小精悍的篇幅,比较适合初入职场的新人。第一部分成功的职业生涯需要规划1.情商归为适应能力分享与协作同理心适应能力,更多的是自我意识,你有能力识别自己的情并分辨这些情绪如何影响你的思想和行为。2.对于初入职场的人的建议,细节,截止日期和数据很重要截止日期,一种有效的方法是请老板为你所有的任务进行优先级排序。和老板喝咖啡的好
mysql禁用远程登录
igotyback
mysql
去mysql库中的user表里,将host都改成localhost之后刷新权限FLUSHPRIVILEGES;
如何在 Fork 的 GitHub 项目中保留自己的修改并同步上游更新?github_fork_update
iBaoxing
github
如何在Fork的GitHub项目中保留自己的修改并同步上游更新?在GitHub上Fork了一个项目后,你可能会对项目进行一些修改,同时原作者也在不断更新。如果想要在保留自己修改的基础上,同步原作者的最新更新,很多人会不知所措。本文将详细讲解如何在不丢失自己改动的情况下,将上游仓库的更新合并到自己的仓库中。问题描述假设你在GitHub上Fork了一个项目,并基于该项目做了一些修改,随后你发现原作者对
30天风格练习-DAY2
黄希夷
Day2(重义)在一个周日/一周的最后一天,我来到位于市中心/市区繁华地带的一家购物中心/商场,中心内人很多/熙熙攘攘。我注意到/看见一个独行/孤身一人的年轻女孩/,留着一头引人注目/长过腰际的头发,上身穿一件暗红色/比正红色更深的衣服/穿在身体上的东西。走下扶梯的时候,她摔倒了/跌向地面,在她正要站起来/让身体离开地面的时候,过长/超过一般人长度的头发被支撑身体/躯干的手掌压/按在下面,她赶紧用
向内而求
陈陈_19b4
10月27日,阴。阅读书目:《次第花开》。作者:希阿荣博堪布,是当今藏传佛家宁玛派最伟大的上师法王,如意宝晋美彭措仁波切颇具影响力的弟子之一。多年以来,赴海内外各地弘扬佛法,以正式授课、现场开示、发表文章等多种方法指导佛学弟子修行佛法。代表作《寂静之道》、《生命这出戏》、《透过佛法看世界》自出版以来一直是佛教类书籍中的畅销书。图片发自App金句:1.佛陀说,一切痛苦的根源在于我们长期以来对自身及外
高级编程--XML+socket练习题
masa010
java 开发语言
1.北京华北2114.8万人上海华东2,500万人广州华南1292.68万人成都华西1417万人(1)使用dom4j将信息存入xml中(2)读取信息,并打印控制台(3)添加一个city节点与子节点(4)使用socketTCP协议编写服务端与客户端,客户端输入城市ID,服务器响应相应城市信息(5)使用socketTCP协议编写服务端与客户端,客户端要求用户输入city对象,服务端接收并使用dom4j
那个抄袭的大张伟
猫小努
最近一直在追《即刻电音》这个综艺,除了觉得出场节目的音乐制作人有意思之外,也觉得有两个导师挺有趣的(另外一个就忽略了吧)。孙艺兴在上一篇文章里面已经说过了,那么这篇就说说我们的大老师,大张伟吧。其实在节目刚开始大张伟出来的时候,我以为他是属于导师里面来活跃气氛负责搞笑的,毕竟孙艺兴属于卖萌卖傻卖老实的,尚雯婕一般负责装逼耍狠的,而大张伟一贯以来上综艺的形象基本上都是蹦蹦跳跳带动气氛的。谁知道,两期
第一场雪
岁月静好_nx
早晨起来,外面白茫茫的一片,总算是下雪了,这还是今年第一场雪呢!走在路上,踩着雪“咯吱咯吱”的,空气很湿润。树上、草坪上、屋顶上都落了白白的一层,天上还零星漂着几点雪。慢慢走在路上,呼吸着清新的空气,感受着冬天的美好,心情也好多了。
《大清方方案》| 第二话
谁佐清欢
和珅究竟说了些什么?竟能令堂堂九五之尊龙颜失色!此处暂且按下不表;单说这位乾隆皇帝,果真不愧是康熙从小带过的,一旦决定了要做的事,便杀伐决断毫不含糊。他当即亲自拟旨,着令和珅为钦差大臣,全权负责处理方方事件,并钦赐尚方宝剑,遇急则三品以下官员可先斩后奏。和珅身负皇上重托,岂敢有半点怠慢,当夜即率领相关人等,马不停蹄杀奔江汉。这一路上,和珅的几位幕僚一直在商讨方方事件的处置方案。有位年轻幕僚建议快刀
【一起学Rust | 设计模式】习惯语法——使用借用类型作为参数、格式化拼接字符串、构造函数
广龙宇
一起学Rust # Rust设计模式 rust 设计模式 开发语言
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、使用借用类型作为参数二、格式化拼接字符串三、使用构造函数总结前言Rust不是传统的面向对象编程语言,它的所有特性,使其独一无二。因此,学习特定于Rust的设计模式是必要的。本系列文章为作者学习《Rust设计模式》的学习笔记以及自己的见解。因此,本系列文章的结构也与此书的结构相同(后续可能会调成结构),基本上分为三个部分
放下是一段成长的修行
小莳玥
人来到这个世界上,只有两件事:生和死。一件事已经做完了,另一件你还急什么呢?是人,都有七情六欲。是心,都有喜怒哀乐,这些再正常不过了。别总抱怨自己活得累,过得辛苦。永远记住:舒坦是留给死人的。苦,才是生活;累,才是工作;变,才是命运;忍,才是历练;容,才是智慧;静,才是修养;舍,才会得到;做,才会拥有。人生,活得太清楚,才是最大的不明白。有些事,看得很清,却说不清;有些人,了解很深,却猜不透;有些
从鸡肉高汤到记忆的魔法再到有效提示的艺术
步子哥
人工智能
还记得小时候那些天马行空的白日梦吗?也许只要按下键盘上的某个神奇组合,电脑就会发出滴滴的声响,一个隐藏的世界突然在你眼前展开,让你获得超凡的能力,摆脱平凡的生活。这听起来像是玩过太多电子游戏的幻想,但实际上,间隔重复系统给人的感觉惊人地相似。在最佳状态下,这些系统就像魔法一样神奇。本文将以一个看似平凡的鸡肉高汤食谱为例,深入浅出地探讨如何编写有效的间隔重复提示,让你像掌握烹饪技巧一样轻松地掌握记忆
今天我破防了
sin信仰
今天本来是大年初一,新年的第一天,应该是高高兴兴的一天,但是我怎么也高兴不起来。具体原因很简单,原本计划年后去县城找了一份会计的工作,被公公婆婆否定了,我心里立马就不舒服了,但是当时刚好肚子疼,我去了厕所,等我上完厕所,公公由于喝了酒还在那里和婆婆唠叨个没完。然后我就在心情极度压抑的情况下把午饭吃完的碗筷和锅给刷了。边刷碗筷和锅,边在那里难受,感觉自己在这个家里真的是过的憋屈死了,公婆不让我去上班
PHP环境搭建详细教程
好看资源平台
前端 php
PHP是一个流行的服务器端脚本语言,广泛用于Web开发。为了使PHP能够在本地或服务器上运行,我们需要搭建一个合适的PHP环境。本教程将结合最新资料,介绍在不同操作系统上搭建PHP开发环境的多种方法,包括Windows、macOS和Linux系统的安装步骤,以及本地和Docker环境的配置。1.PHP环境搭建概述PHP环境的搭建主要分为以下几类:集成开发环境:例如XAMPP、WAMP、MAMP,这
2020.11.19
隆非凡
日精进,今日体验:在维修过程中遇到的问题,把源头找到,在进行下一步开始。不要停留在一个点上,合理调整心态,把当下事做好。
关于提高复杂业务逻辑代码可读性的思考
编程经验分享
开发经验 java 数据库 开发语言
目录前言需求场景常规写法拆分方法领域对象总结前言实际工作中大部分时间都是在写业务逻辑,一般都是三层架构,表示层(Controller)接收客户端请求,并对入参做检验,业务逻辑层(Service)负责处理业务逻辑,一般开发都是在这一层中写具体的业务逻辑。数据访问层(Dao)是直接和数据库交互的,用于查数据给业务逻辑层,或者是将业务逻辑层处理后的数据写入数据库。简单的增删改查接口不用多说,基本上写好一
山东大学小树林支教调研团青青仓木队——翟晓楠
山东大学青青仓木队
过了半年,又一次启程,又一次回到支教的初心之地。比起上一次的试探与不安,我更多了一丝稳重与熟练。心境、处境也都随着半个学期的过去而变得不同,半个学期中,身体上的,心理上的,太多的逆境让我变得步履维艰,曲曲折折,弯弯绕绕,我仿佛打不起精神,没有胃口,没有动力。感觉走的不顺畅的时候,支教这个旅程,给了我力量。自告奋勇承担起队长这一职务的我,从组织时的复杂和困难的经历,协调各种问题,从无到有,和校长和队
【夜读】提升生活品质的8个建议
茳淮秀水
停止攀比很多人之所以感觉疲惫,部分原因是来自于跟别人攀比。殊不知,攀比得到的满足只是片刻的,过后往往会感到空虚。过分在意别人的评价,丢失的是自己原有的审美,扰乱的是自己最初的节奏。不妨活得洒脱些,自己内心丰盈了,快乐就能更持久。停止自责想改变自己,先从接纳自己开始。越是过分自责,就越难改变现状,因为如果把精力全耗在自责上,就没有精力用来改变了。遇到问题,我们要用正确的心态去面对。与其一味自责,不如
拥有断舍离的心态,过精简生活--《断舍离》读书笔记
爱吃丸子的小樱桃
不知不觉间房间里的东西越来越多,虽然摆放整齐,但也时常会觉得空间逼仄,令人心生烦闷。抱着断舍离的态度,我开始阅读《断舍离》这本书,希望从书中能找到一些有效的方法,帮助我实现空间、物品上的断舍离。《断舍离》是日本作家山下英子通过自己的经历、思考和实践总结而成的,整体内涵也从刚开始的私人生活哲学的“断舍离”升华成了“人生实践哲学”,接着又成为每个人都能实行的“改变人生的断舍离”,从“哲学”逐渐升华成“
SQL Server_查询某一数据库中的所有表的内容
qq_42772833
SQL Server 数据库 sqlserver
1.查看所有表的表名要列出CrabFarmDB数据库中的所有表(名),可以使用以下SQL语句:USECrabFarmDB;--切换到目标数据库GOSELECTTABLE_NAMEFROMINFORMATION_SCHEMA.TABLESWHERETABLE_TYPE='BASETABLE';对这段SQL脚本的解释:SELECTTABLE_NAME:这个语句的作用是从查询结果中选择TABLE_NAM
如果做到轻松在股市赚钱?只要坚持这三个原则。
履霜之人
大A股里向来就有七亏二平一赚的说法,能赚钱的都是少数人。否则股市就成了慈善机构,人人都有钱赚,谁还要上班?所以说亏钱是正常的,或者说是应该的。那么那些赚钱的人又是如何做到的呢?普通人能不能找到捷径去分一杯羹呢?方法是有的,但要做到需要你有极高的自律。第一,控制仓位,散户最大的问题是追涨杀跌,只要涨起来,就把钱往股票上砸,然后被套,隔天跌的受不了,又一刀切,全部割肉。来来回回间,遍体鳞伤。所以散户首
凤凰公园
吴侬暖语sym
凤凰公园距离我们家880米,大概步行12分钟就到了,这是我们每天饭后散步或者闲暇时的去处。现在夏季徬晚时分广场舞大妈们总是热情非凡,那里的大门口就是一个好地方,每天总有两拨人在那踩着节奏翩翩起舞呢!而且一路上,从我们小区到公园,或者从昆仑西苑沿河到公园,都是饭后锻炼的人们,川流不息,老人小孩,年轻人,…!哪哪都是。最早家乡的公园,所有公园都是要收门票的,那时候也就是休息天会有人花钱去转转,平时一般
GitHub上克隆项目
bigbig猩猩
github
从GitHub上克隆项目是一个简单且直接的过程,它允许你将远程仓库中的项目复制到你的本地计算机上,以便进行进一步的开发、测试或学习。以下是一个详细的步骤指南,帮助你从GitHub上克隆项目。一、准备工作1.安装Git在克隆GitHub项目之前,你需要在你的计算机上安装Git工具。Git是一个开源的分布式版本控制系统,用于跟踪和管理代码变更。你可以从Git的官方网站(https://git-scm.
Day1笔记-Python简介&标识符和关键字&输入输出
~在杰难逃~
Python python 开发语言 大数据 数据分析 数据挖掘
大家好,从今天开始呢,杰哥开展一个新的专栏,当然,数据分析部分也会不定时更新的,这个新的专栏主要是讲解一些Python的基础语法和知识,帮助0基础的小伙伴入门和学习Python,感兴趣的小伙伴可以开始认真学习啦!一、Python简介【了解】1.计算机工作原理编程语言就是用来定义计算机程序的形式语言。我们通过编程语言来编写程序代码,再通过语言处理程序执行向计算机发送指令,让计算机完成对应的工作,编程
矩阵求逆(JAVA)初等行变换
qiuwanchi
矩阵求逆(JAVA)
package gaodai.matrix;
import gaodai.determinant.DeterminantCalculation;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**
* 矩阵求逆(初等行变换)
* @author 邱万迟
*
JDK timer
antlove
java jdk schedule code timer
1.java.util.Timer.schedule(TimerTask task, long delay):多长时间(毫秒)后执行任务
2.java.util.Timer.schedule(TimerTask task, Date time):设定某个时间执行任务
3.java.util.Timer.schedule(TimerTask task, long delay,longperiod
JVM调优总结 -Xms -Xmx -Xmn -Xss
coder_xpf
jvm 应用服务器
堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。
典型设置:
java -Xmx
JDBC连接数据库
Array_06
jdbc
package Util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBCUtil {
//完
Unsupported major.minor version 51.0(jdk版本错误)
oloz
java
java.lang.UnsupportedClassVersionError: cn/support/cache/CacheType : Unsupported major.minor version 51.0 (unable to load class cn.support.cache.CacheType)
at org.apache.catalina.loader.WebappClassL
用多个线程处理1个List集合
362217990
多线程 thread list 集合
昨天发了一个提问,启动5个线程将一个List中的内容,然后将5个线程的内容拼接起来,由于时间比较急迫,自己就写了一个Demo,希望对菜鸟有参考意义。。
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CountDownLatch;
public c
JSP简单访问数据库
香水浓
sql mysql jsp
学习使用javaBean,代码很烂,仅为留个脚印
public class DBHelper {
private String driverName;
private String url;
private String user;
private String password;
private Connection connection;
privat
Flex4中使用组件添加柱状图、饼状图等图表
AdyZhang
Flex
1.添加一个最简单的柱状图
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
<?xml version=
"1.0"&n
Android 5.0 - ProgressBar 进度条无法展示到按钮的前面
aijuans
android
在低于SDK < 21 的版本中,ProgressBar 可以展示到按钮前面,并且为之在按钮的中间,但是切换到android 5.0后进度条ProgressBar 展示顺序变化了,按钮再前面,ProgressBar 在后面了我的xml配置文件如下:
[html]
view plain
copy
<RelativeLa
查询汇总的sql
baalwolf
sql
select list.listname, list.createtime,listcount from dream_list as list , (select listid,count(listid) as listcount from dream_list_user group by listid order by count(
Linux du命令和df命令区别
BigBird2012
linux
1,两者区别
du,disk usage,是通过搜索文件来计算每个文件的大小然后累加,du能看到的文件只是一些当前存在的,没有被删除的。他计算的大小就是当前他认为存在的所有文件大小的累加和。
AngularJS中的$apply,用还是不用?
bijian1013
JavaScript AngularJS $apply
在AngularJS开发中,何时应该调用$scope.$apply(),何时不应该调用。下面我们透彻地解释这个问题。
但是首先,让我们把$apply转换成一种简化的形式。
scope.$apply就像一个懒惰的工人。它需要按照命
[Zookeeper学习笔记十]Zookeeper源代码分析之ClientCnxn数据序列化和反序列化
bit1129
zookeeper
ClientCnxn是Zookeeper客户端和Zookeeper服务器端进行通信和事件通知处理的主要类,它内部包含两个类,1. SendThread 2. EventThread, SendThread负责客户端和服务器端的数据通信,也包括事件信息的传输,EventThread主要在客户端回调注册的Watchers进行通知处理
ClientCnxn构造方法
&
【Java命令一】jmap
bit1129
Java命令
jmap命令的用法:
[hadoop@hadoop sbin]$ jmap
Usage:
jmap [option] <pid>
(to connect to running process)
jmap [option] <executable <core>
(to connect to a
Apache 服务器安全防护及实战
ronin47
此文转自IBM.
Apache 服务简介
Web 服务器也称为 WWW 服务器或 HTTP 服务器 (HTTP Server),它是 Internet 上最常见也是使用最频繁的服务器之一,Web 服务器能够为用户提供网页浏览、论坛访问等等服务。
由于用户在通过 Web 浏览器访问信息资源的过程中,无须再关心一些技术性的细节,而且界面非常友好,因而 Web 在 Internet 上一推出就得到
unity 3d实例化位置出现布置?
brotherlamp
unity教程 unity unity资料 unity视频 unity自学
问:unity 3d实例化位置出现布置?
答:实例化的同时就可以指定被实例化的物体的位置,即 position
Instantiate (original : Object, position : Vector3, rotation : Quaternion) : Object
这样你不需要再用Transform.Position了,
如果你省略了第二个参数(
《重构,改善现有代码的设计》第八章 Duplicate Observed Data
bylijinnan
java 重构
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.Label;
import java.awt.TextField;
import java.awt.event.FocusAdapter;
import java.awt.event.FocusE
struts2更改struts.xml配置目录
chiangfai
struts.xml
struts2默认是读取classes目录下的配置文件,要更改配置文件目录,比如放在WEB-INF下,路径应该写成../struts.xml(非/WEB-INF/struts.xml)
web.xml文件修改如下:
<filter>
<filter-name>struts2</filter-name>
<filter-class&g
redis做缓存时的一点优化
chenchao051
redis hadoop pipeline
最近集群上有个job,其中需要短时间内频繁访问缓存,大概7亿多次。我这边的缓存是使用redis来做的,问题就来了。
首先,redis中存的是普通kv,没有考虑使用hash等解结构,那么以为着这个job需要访问7亿多次redis,导致效率低,且出现很多redi
mysql导出数据不输出标题行
daizj
mysql 数据导出 去掉第一行 去掉标题
当想使用数据库中的某些数据,想将其导入到文件中,而想去掉第一行的标题是可以加上-N参数
如通过下面命令导出数据:
mysql -uuserName -ppasswd -hhost -Pport -Ddatabase -e " select * from tableName" > exportResult.txt
结果为:
studentid
phpexcel导出excel表简单入门示例
dcj3sjt126com
PHP Excel phpexcel
先下载PHPEXCEL类文件,放在class目录下面,然后新建一个index.php文件,内容如下
<?php
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
if (PHP_SAPI == 'cli')
die('
爱情格言
dcj3sjt126com
格言
1) I love you not because of who you are, but because of who I am when I am with you. 我爱你,不是因为你是一个怎样的人,而是因为我喜欢与你在一起时的感觉。 2) No man or woman is worth your tears, and the one who is, won‘t
转 Activity 详解——Activity文档翻译
e200702084
android UI sqlite 配置管理 网络应用
activity 展现在用户面前的经常是全屏窗口,你也可以将 activity 作为浮动窗口来使用(使用设置了 windowIsFloating 的主题),或者嵌入到其他的 activity (使用 ActivityGroup )中。 当用户离开 activity 时你可以在 onPause() 进行相应的操作 。更重要的是,用户做的任何改变都应该在该点上提交 ( 经常提交到 ContentPro
win7安装MongoDB服务
geeksun
mongodb
1. 下载MongoDB的windows版本:mongodb-win32-x86_64-2008plus-ssl-3.0.4.zip,Linux版本也在这里下载,下载地址: http://www.mongodb.org/downloads
2. 解压MongoDB在D:\server\mongodb, 在D:\server\mongodb下创建d
Javascript魔法方法:__defineGetter__,__defineSetter__
hongtoushizi
js
转载自: http://www.blackglory.me/javascript-magic-method-definegetter-definesetter/
在javascript的类中,可以用defineGetter和defineSetter_控制成员变量的Get和Set行为
例如,在一个图书类中,我们自动为Book加上书名符号:
function Book(name){
错误的日期格式可能导致走nginx proxy cache时不能进行304响应
jinnianshilongnian
cache
昨天在整合某些系统的nginx配置时,出现了当使用nginx cache时无法返回304响应的情况,出问题的响应头: Content-Type:text/html; charset=gb2312 Date:Mon, 05 Jan 2015 01:58:05 GMT Expires:Mon , 05 Jan 15 02:03:00 GMT Last-Modified:Mon, 05
数据源架构模式之行数据入口
home198979
PHP 架构 行数据入口
注:看不懂的请勿踩,此文章非针对java,java爱好者可直接略过。
一、概念
行数据入口(Row Data Gateway):充当数据源中单条记录入口的对象,每行一个实例。
二、简单实现行数据入口
为了方便理解,还是先简单实现:
<?php
/**
* 行数据入口类
*/
class OrderGateway {
/*定义元数
Linux各个目录的作用及内容
pda158
linux 脚本
1)根目录“/” 根目录位于目录结构的最顶层,用斜线(/)表示,类似于
Windows
操作系统的“C:\“,包含Fedora操作系统中所有的目录和文件。 2)/bin /bin 目录又称为二进制目录,包含了那些供系统管理员和普通用户使用的重要
linux命令的二进制映像。该目录存放的内容包括各种可执行文件,还有某些可执行文件的符号连接。常用的命令有:cp、d
ubuntu12.04上编译openjdk7
ol_beta
HotSpot jvm jdk OpenJDK
获取源码
从openjdk代码仓库获取(比较慢)
安装mercurial Mercurial是一个版本管理工具。 sudo apt-get install mercurial
将以下内容添加到$HOME/.hgrc文件中,如果没有则自己创建一个: [extensions] forest=/home/lichengwu/hgforest-crew/forest.py fe
将数据库字段转换成设计文档所需的字段
vipbooks
设计模式 工作 正则表达式
哈哈,出差这么久终于回来了,回家的感觉真好!
PowerDesigner的物理数据库一出来,设计文档中要改的字段就多得不计其数,如果要把PowerDesigner中的字段一个个Copy到设计文档中,那将会是一件非常痛苦的事情。