order by
SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC;
SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC;
insert into
INSERT INTO 表名称 VALUES (值1, 值2,....);
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....);
INSERT INTO Persons VALUES ('Gates', 'Bill', 'Xuanwumen 10', 'Beijing');
INSERT INTO Persons (LastName, Address) VALUES ('Wilson', 'Champs-Elysees');
update
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值;
UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson' ;
UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing'
WHERE LastName = 'Wilson';
delete
DELETE FROM 表名称 WHERE 列名称 = 值;
DELETE FROM Person WHERE LastName = 'Wilson';
可以在不删除表的情况下删除所有的行。这意味着表的结构、属性和索引都是完整的:
DELETE FROM table_name;
DELETE * FROM table_name;
top mysql
;
like
SELECT * FROM Persons WHERE City LIKE 'N%';
提示:"%" 可用于定义通配符(模式中缺少的字母)。
以g结尾的city
SELECT * FROM Persons WHERE City LIKE '%g';
包含lon的city
SELECT * FROM Persons WHERE City LIKE '%lon%';
不包含
SELECT * FROM Persons WHERE City NOT LIKE '%lon%';

 其他通配符
%                                   替代一个或多个字符
_                                   仅替代一个字符
[charlist]                           字符列中的任何单一字符
[^charlist] 或者 [!charlist]  不在字符列

---------------------------------
SELECT * FROM Persons  WHERE FirstName LIKE '_eorge';

SELECT * FROM Persons  WHERE LastName LIKE 'C_r_er';

我们希望从上面的 "Persons" 表中选取居住的城市以 "A" 或 "L" 或 "N" 开头的人:
SELECT * FROM Persons  WHERE City LIKE '[ALN]%';
上面的 "Persons" 表中选取居住的城市不以 "A" 或 "L" 或 "N" 开头的人:
SELECT * FROM Persons  WHERE City LIKE '[!ALN]%';
in
语法
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...);

---------------
SELECT * FROM Persons
WHERE LastName IN ('Adams','Carter');

----------------------------------------
between .....and
以字母顺序显示介于 "Adams"(包括)和 "Carter"(不包括)之间的人,
SELECT * FROM Persons
WHERE LastName
BETWEEN 'Adams' AND 'Carter';

SELECT * FROM Persons
WHERE LastName
NOT BETWEEN 'Adams' AND 'Carter';
Alias
SELECT column_name AS alias_name
FROM table_name;
join
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons, Orders
WHERE Persons.Id_P = Orders.Id_P ;

-------------或者
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
INNER JOIN Orders
ON Persons.Id_P = Orders.Id_P
ORDER BY Persons.LastName;
JOIN: 如果表中有至少一个匹配,则返回行
LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行
RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行
FULL JOIN: 只要其中一个表中存在匹配,就返回行

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
LEFT JOIN Orders
ON Persons.Id_P=Orders.Id_P
ORDER BY Persons.LastName;

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
RIGHT JOIN Orders
ON Persons.Id_P=Orders.Id_P
ORDER BY Persons.LastName;

希望列出所有的人,以及他们的定单,以及所有的定单,以及定购它们的人
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
FULL JOIN Orders
ON Persons.Id_P=Orders.Id_P
ORDER BY Persons.LastName;
union
UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。
默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL
SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2;

SELECT E_Name FROM Employees_China
UNION
SELECT E_Name FROM Employees_USA;
select into
SQL SELECT INTO 语法
您可以把所有的列插入新表:
SELECT *
INTO new_table_name [IN externaldatabase]
FROM old_tablename
或者只把希望的列插入新表:
SELECT column_name(s)
INTO new_table_name [IN externaldatabase]
FROM old_tablename
------------
下面的例子会制作 "Persons" 表的备份复件:
SELECT *
INTO Persons_backup
FROM Persons;

IN 子句可用于向另一个数据库中拷贝表:
SELECT *
INTO Persons IN 'Backup.mdb'
FROM Persons;

SELECT LastName,FirstName
INTO Persons_backup
FROM Persons;

下面的例子通过从 "Persons" 表中提取居住在 "Beijing" 的人的信息,创建了一个带有两个列的名为 "Persons_backup" 的表:
SELECT LastName,Firstname
INTO Persons_backup
FROM Persons
WHERE City='Beijing';

SELECT Persons.LastName,Orders.OrderNo
INTO Persons_Order_Backup
FROM Persons
INNER JOIN Orders
ON Persons.Id_P=Orders.Id_P;

从其他表筛选部分字段,结合默认字段值给新表添加数据insert into sp_seller (user_id,seller_no,level,status,CREATED_BY,CREATED_ON,UPDATED_BY,UPDATED_ON) select id,substr(role_no,1,3),1,0,'sys',now(),'sys',now() from sp_user where user_type=9 ;
视图注释:视图总是显示最近的数据。每当用户查询视图时,数据库引擎通过使用 SQL 语句来重建数据。
create or replace view v_user (user_id,seller_uid,user_type,nick_name,real_name,bind_mobile, registre_time) as
    select
        u.id,
        case
             then u.id
            else u.recommender_id
        end,
        u.user_type,
        u.nick_name,
        u.REAL_NAME,
        u.BIND_MOBILE,
        u.register_time
    from
        sp_user u
    where
        exists( select 

            from
                sp_seller s
            where
                s.user_id = u.recommender_id)
            ;
SQL DROP VIEW Syntax
DROP VIEW view_name;
行转列
select u.real_name,da.inv1,da.inv3,da.inv6,da.inv9,da.inv12 from sp_user u left join(

select seller_id,sum(amount),
      end) inv1,
      end) inv3,
      end) inv6,
      end) inv9,
      end) inv12
       ;
索引
CREATE INDEX
在不读取整个表的情况下,索引使数据库应用程序可以更快地查找数据。

用户无法看到索引,它们只能被用来加速搜索/查询。
注释:更新一个包含索引的表需要比更新一个没有索引的表更多的时间,这是由于索引本身也需要更新。因此,理想的做法是仅仅在常常被搜索的列(以及表)上面创建索引。

CREATE INDEX index_name
ON table_name (column_name)
注释:"column_name" 规定需要索引的列。

在表上创建一个唯一的索引。唯一的索引意味着两个行不能拥有相同的索引值。
CREATE UNIQUE INDEX index_name
ON table_name (column_name)

 删除索引
用于 MySQL 的语法:
ALTER TABLE table_name DROP INDEX index_name;
TRUNCATE TABLE 表名称
如果我们仅仅需要除去表内的数据,但并不删除表本身,那么我们该如何做呢?
请使用 TRUNCATE TABLE 命令(仅仅删除表格中的数据):
TRUNCATE TABLE 表名称
ALTER

ALTER TABLE 语句用于在已有的表中添加、修改或删除列。

ALTER TABLE table_name
ADD column_name datatype;

ALTER TABLE table_name
ALTER COLUMN column_name datatype;

现在,我们希望在表 "Persons" 中添加一个名为 "Birthday" 的新列。
我们使用下列 SQL 语句:
ALTER TABLE Persons ADD Birthday date;

ALTER TABLE Person
DROP COLUMN Birthday;
自增mysql

CREATE TABLE Persons
(
P_Id int NOT NULL AUTO_INCREMENT,
LastName ) NOT NULL,
FirstName ),
Address ),
City ),
PRIMARY KEY (P_Id)
)

要让 AUTO_INCREMENT 序列以其他的值起始,请使用下列 SQL 语法:
;

用于 SQL Server 的语法
下列 SQL 语句把 "Persons" 表中的 "P_Id" 列定义为 auto-increment 主键:
CREATE TABLE Persons
(
P_Id int PRIMARY KEY IDENTITY,
LastName ) NOT NULL,
FirstName ),
Address ),
City )
)
MS SQL 使用 IDENTITY 关键字来执行 auto-increment 任务。
默认地,,每条新记录递增 。
要规定 "P_Id" 列以  起始且递增 ,请把 ,);

Oracle
您必须通过 sequence 对创建 auto-increment 字段(该对象生成数字序列)。
请使用下面的 CREATE SEQUENCE 语法:
CREATE SEQUENCE seq_person
MINVALUE
START
INCREMENT
CACHE
上面的代码创建名为 seq_person 的序列对象,它以  起始且以  递增。该对象缓存  个值以提高性能。CACHE 选项规定了为了提高访问速度要存储多少个序列值。
要在 "Persons" 表中插入新记录,我们必须使用 nextval 函数(该函数从 seq_person 序列中取回下一个值):
INSERT INTO Persons (P_Id,FirstName,LastName)
VALUES (seq_person.nextval,'Lars','Monsen')
上面的 SQL 语句会在 "Persons" 表中插入一条新记录。"P_Id" 的赋值是来自 seq_person 序列的下一个数字。"FirstName" 会被设置为 "Bill","LastName" 列会被设置为 "Gates"。
MySQL Date
下面的表格列出了 MySQL 中最重要的内建日期函数:
函数                                描述
NOW()                    返回当前的日期和时间
CURDATE()            返回当前的日期
CURTIME()               返回当前的时间
DATE()                    提取日期或日期/时间表达式的日期部分
EXTRACT()                    返回日期/时间按的单独部分
DATE_ADD()            给日期添加指定的时间间隔
DATE_SUB()            从日期减去指定的时间间隔
DATEDIFF()            返回两个日期之间的天数
DATE_FORMAT()    用不同的格式显示日期/时间 

SQL Date 数据类型
MySQL 使用下列数据类型在数据库中存储日期或日期/时间值:
DATE - 格式 YYYY-MM-DD
DATETIME - 格式: YYYY-MM-DD HH:MM:SS
TIMESTAMP - 格式: YYYY-MM-DD HH:MM:SS
YEAR - 格式 YYYY 或 YY

DATETIME
日期和时间的组合。支持的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。MySQL以'YYYY-MM-DD HH:MM:SS'格式显示DATETIME值,但允许使用字符串或数字为DATETIME列分配值。
 TIMESTAMP[(M)]
时间戳。范围是'1970-01-01 00:00:00'到2037年。
TIMESTAMP列用于INSERT或UPDATE操作时记录日期和时间。如果你不分配一个值,表中的第一个TIMESTAMP列自动设置为最近操作的日期和时间。也可以通过分配一个NULL值,将TIMESTAMP列设置为当前的日期和时间。

TIMESTAMP值返回后显示为。      
null

SELECT LastName,FirstName,Address FROM Persons
WHERE Address IS NULL;

SELECT LastName,FirstName,Address FROM Persons
WHERE Address IS NOT NULL;

MySQL
MySQL 也拥有类似 ISNULL() 的函数。不过它的工作方式与微软的 ISNULL() 函数有点不同。
在 MySQL 中,我们可以使用 IFNULL() 函数,就像这样:
))
FROM Products
或者我们可以使用 COALESCE() 函数,就像这样:
))
FROM Products
MySQL 数据类型
在 MySQL 中,有三种主要的类型:文本、数字和日期/时间类型。
Text 类型:
数据类型                          描述
 个字符。
 个字符。
                  注释:如果值的长度大于 ,则被转换为 TEXT 类型。
TINYTEXT          存放最大长度为  个字符的字符串。
, 个字符的字符串。
BLOB              用于 BLOBs (, 字节的数据。
MEDIUMTEXT        存放最大长度为 ,, 个字符的字符串。
MEDIUMBLOB        用于 BLOBs (,, 字节的数据。
LONGTEXT          存放最大长度为 ,,, 个字符的字符串。
LONGBLOB          用于 BLOBs (,,, 字节的数据。
ENUM(x,y,z,etc.)  允许你输入可能值的列表。可以在 ENUM 列表中列出最大  个值。如果列表中不存在插入的值,则插入空值。
                  注释:这些值是按照你输入的顺序存储的。
                       可以按照此格式输入可能的值:ENUM('X','Y','Z')
 个列表项,不过 SET 可存储一个以上的值。
Number 类型:
数据类型                         描述
 到  常规。 到  无符号*。在括号中规定最大位数。
 到  常规。 到  无符号*。在括号中规定最大位数。
MEDIUMINT(size)    到  普通。  无符号*。在括号中规定最大位数。
 到  常规。 到  无符号*。在括号中规定最大位数。
 到  常规。 到  无符号*。在括号中规定最大位数。
FLOAT(size,d)     带有浮动小数点的小数字。在括号中规定最大位数。在 d 参数中规定小数点右侧的最大位数。
DOUBLE(size,d)    带有浮动小数点的大数字。在括号中规定最大位数。在 d 参数中规定小数点右侧的最大位数。
DECIMAL(size,d)   作为字符串存储的 DOUBLE 类型,允许固定的小数点。
 开始,而不是某个负数。
Date 类型:
数据类型                          描述
DATE()                  日期。格式:YYYY-MM-DD
                        注释:支持的范围是从 '1000-01-01' 到 '9999-12-31'
DATETIME()              *日期和时间的组合。格式:YYYY-MM-DD HH:MM:SS
                        注释:支持的范围是从 '1000-01-01 00:00:00' 到 '9999-12-31 23:59:59'
TIMESTAMP()
                        *时间戳。TIMESTAMP 值使用 Unix 纪元('1970-01-01 00:00:00' UTC) 至今的描述来存储。格式:YYYY-MM-DD HH:MM:SS
                        注释:支持的范围是从 '1970-01-01 00:00:01' UTC 到 '2038-01-09 03:14:07' UTC
TIME()                  时间。格式:HH:MM:SS 注释:支持的范围是从 '-838:59:59' 到 '838:59:59'
 位或  位格式的年。
                        注释: 位格式所允许的值: 到 。 位格式所允许的值: 到 ,表示从  到 。
* 即便 DATETIME 和 TIMESTAMP 返回相同的格式,它们的工作方式很不同。在 INSERT 或 UPDATE 查询中,TIMESTAMP 自动把自身设置为当前的日期和时间。TIMESTAMP 也接受不同的格式,比如 YYYYMMDDHHMMSS、YYMMDDHHMMSS、YYYYMMDD 或 YYMMDD。    
sql  服务器

DBMS - 数据库管理系统(Database Management System)
数据库管理系统是一种可以访问数据库中数据的计算机程序。
DBMS 使我们有能力在数据库中提取、修改或者存贮信息。
不同的 DBMS 提供不同的函数供查询、提交以及修改数据。
RDBMS - 关系数据库管理系统(Relational Database Management System)
关系数据库管理系统 (RDBMS) 也是一种数据库管理系统,其数据库是根据数据间的关系来组织和访问数据的。
 世纪  年代初,IBM 公司发明了 RDBMS。
RDBMS 是 SQL 的基础,也是所有现代数据库系统诸如 Oracle、SQL Server、IBM DB2、Sybase、MySQL 以及 Microsoft Access 的基础。
函数的语法
内建 SQL 函数的语法是:
SELECT function(列) FROM 表;

AVG 函数返回数值列的平均值。NULL 值不包括在计算中。

现在,我们希望找到 OrderPrice 值高于 OrderPrice 平均值的客户。
我们使用如下 SQL 语句:
SELECT Customer FROM Orders
WHERE OrderPrice>(SELECT AVG(OrderPrice) FROM Orders);

SQL COUNT() 语法
SQL COUNT(column_name) 语法
COUNT(column_name) 函数返回指定列的值的数目(NULL 不计入):
SELECT COUNT(column_name) FROM table_name

现在,我们希望计算 "Orders" 表中不同客户的数目。
我们使用如下 SQL 语句:
SELECT COUNT(DISTINCT Customer) AS NumberOfCustomers FROM Orders;

FIRST() 函数
FIRST() 函数返回指定的字段中第一个记录的值。
提示:可使用 ORDER BY 语句对记录进行排序。
SQL FIRST() 语法
SELECT FIRST(column_name) FROM table_name;

MAX() 函数
MAX 函数返回一列中的最大值。NULL 值不包括在计算中。
SQL MAX() 语法
SELECT MAX(column_name) FROM table_name;
现在,我们希望查找 "OrderPrice" 列的最大值。
我们使用如下 SQL 语句:
SELECT MAX(OrderPrice) AS LargestOrderPrice FROM Orders;

MIN 函数返回一列中的最小值。NULL 值不包括在计算中。
SQL MIN() 语法
SELECT MIN(column_name) FROM table_name

SUM() 函数
SUM 函数返回数值列的总数(总额)。
SQL SUM() 语法
SELECT SUM(column_name) FROM table_name;

GROUP BY 语句
GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。
SQL GROUP BY 语法
SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name;
HAVING 子句
在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。
SQL HAVING 语法
SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
HAVING aggregate_function(column_name) operator value;

现在,我们希望查找订单总金额少于  的客户。
我们使用如下 SQL 语句:
SELECT Customer,SUM(OrderPrice) FROM Orders
GROUP BY Customer
;

现在我们希望查找客户 "Bush" 或 "Adams" 拥有超过  的订单总金额。
我们在 SQL 语句中增加了一个普通的 WHERE 子句:
SELECT Customer,SUM(OrderPrice) FROM Orders
WHERE Customer='Bush' OR Customer='Adams'
GROUP BY Customer
;
UCASE() 函数
UCASE 函数把字段的值转换为大写。
SQL UCASE() 语法
SELECT UCASE(column_name) FROM table_name;

我们使用如下 SQL 语句:
SELECT UCASE(LastName) as LastName,FirstName FROM Persons;

LCASE() 函数
LCASE 函数把字段的值转换为小写。
SQL LCASE() 语法
SELECT LCASE(column_name) FROM table_name;
MID() 函数
MID 函数用于从文本字段中提取字符。
SQL MID() 语法
SELECT MID(column_name,start[,length]) FROM table_name;

现在,我们希望从 "City" 列中提取前  个字符。
我们使用如下 SQL 语句:
,) as SmallCity FROM Persons;

参数                     描述
column_name    必需。要提取字符的字段。
start                    必需。规定开始位置(起始值是 )。
length            可选。要返回的字符数。如果省略,则 MID() 函数返回剩余文本。                        
ROUND() 函数
ROUND 函数用于把数值字段舍入为指定的小数位数。
SQL ROUND() 语法
SELECT ROUND(column_name,decimals) FROM table_name

参数                    描述
column_name    必需。要舍入的字段。
decimals            必需。规定要返回的小数位数。                

现在,我们希望把名称和价格舍入为最接近的整数。
我们使用如下 SQL 语句:
) as UnitPrice FROM Products;

NOW() 函数
NOW 函数返回当前的日期和时间。
提示:如果您在使用 Sql Server 数据库,请使用 getdate() 函数来获得当前的日期时间。
SQL NOW() 语法
SELECT NOW() FROM table_name;

现在,我们希望显示当天的日期所对应的名称和价格。
我们使用如下 SQL 语句:
SELECT ProductName, UnitPrice, Now() as PerDate FROM Products;
FORMAT() 函数
FORMAT 函数用于对字段的显示进行格式化。
SQL FORMAT() 语法
SELECT FORMAT(column_name,format) FROM table_name;

现在,我们希望显示每天日期所对应的名称和价格(日期的显示格式是 "YYYY-MM-DD")。
我们使用如下 SQL 语句:
SELECT ProductName, UnitPrice, FORMAT(Now(),'YYYY-MM-DD') as PerDate
FROM Products;

sql_1的更多相关文章

  1. [Spark SQL_1] Spark SQL 配置

    0. 说明 Spark SQL 的配置基于 Spark 集群搭建  && Hive 的安装&配置 1. 简介 Spark SQL 是构建在 Spark Core 模块之上的四大 ...

  2. Python 3.x 连接数据库(pymysql 方式)

    ==================pymysql=================== 由于 MySQLdb 模块还不支持 Python3.x,所以 Python3.x 如果想连接MySQL需要安装 ...

  3. SQL Server 解读【已分区索引的特殊指导原则】(3) - 非聚集索引分区

    一.前言 在MSDN上看到一篇关于SQL Server 表分区的文档:已分区索引的特殊指导原则,如果你对表分区没有实战经验的话是比较难理解文档里面描述的意思.这里我就里面的一些概念进行讲解,方便大家的 ...

  4. PDO 用法学习

    PDO: php data object数据库访问抽象层 基于驱动:1.安装扩展 php_pdo.dll2.安装驱动 php_pdo_mysql.dll linux 编译时参数:--with-pdo= ...

  5. android开发--数据库(更新或者降低版本)

    Andoird的SQLiteOpenHelper类中有一个onUpgrade方法. 1. 帮助文档里说的"数据库升级"是指什么? 你开发了一个应用,当前是1.0版本.该程序用到了数 ...

  6. Android菜鸟成长记11 -- sqlite数据库的设计和升降级

    Google为Andriod的较大的数据处理提供了SQLite,他在数据存储.管理.维护等各方面都相当出色,功能也非常的强大.SQLite具备下列特点: 1.轻量级 使用 SQLite 只需要带一个动 ...

  7. PHP从mysql获取数据的方法

    <?php require "database.php"; //读取数据库中的数据 $sql_1 = "SELECT * FROM test_table" ...

  8. Python 3.5 连接Mysql数据库(pymysql 方式)

    由于 MySQLdb 模块还不支持 Python3.x,官方的Mysql连接包只支持到3.4,所以 Python3.5 如果想连接MySQL需要安装 pymysql 模块. pymysql 模块可以通 ...

  9. SQL多行转多列

    --★转换结果如上图 1.首先创建表: CREATE TABLE [成绩表]( ,) NOT NULL, )NULL, , )NULL, , )NULL, , )NULL ) ON [PRIMARY] ...

随机推荐

  1. java中的replaceAll方法注意事项

    replaceAll和replace方法参数是不同的,replace的两个参数都是代表字符串,replaceAll的第一个参数是正则表达式 replaceAll中需要注意的特殊字符: \ == \\\ ...

  2. HTML表示RGB颜色的方法

    NAME:red,orange,yellow,green,cyan,blue,purple RGB:rgb(r,g,b) RGBA:rgba(r,g,b,a) r.g.b.a取值范围为:0-255 H ...

  3. elasticsearch6.4中文文档

    男朋友翻译的,我这边做一个查看入口,分享给大家,O(∩_∩)O哈哈~ 版权声明:本文为博主原创文章,无需授权即可转载,甚至无需保留以上版权声明,转载时请务必注明作者. https://blog.csd ...

  4. 0320SQL中的where条件,在数据库中提取与应用浅析

    转自 何登成的技术博客 追求技术的道路上,10年如一日     首页 关于我 RSS 订阅 © 2012-2017 何登成的技术博客   SQL中的where条件,在数据库中提取与应用浅析 3月 3r ...

  5. 24 Point game

    24 Point game 时间限制:3000 ms  |  内存限制:65535 KB 难度:5   描述 There is a game which is called 24 Point game ...

  6. magento 的一些Sql查询

    1,模拟使用getName()获取产品名称的sql SELECT `value` AS product_name FROM yo_catalog_product_entity_varchar WHER ...

  7. POJ 2486

    因为苹果可能在不同的子树中,所以,很容易想到设状态dp_back[i][j]为以i点为树根走j步并回到i点的最大苹果数与dp_to[i][j]不回到i点的两个状态. 于是,转移方程就很明显了.只是注意 ...

  8. 使用makeself创建安装文件

    Makeself.sh是一个小的Shell脚本.用于从一个文件夹中生成自解压的tar.gz压缩包. 结果文件以一个shell脚本显示(大多数以.run作为后缀名).能够自己主动执行.该文档会解压自己到 ...

  9. 金融扫盲-资本市场从天使轮、ABCD轮、风投、到上市圈钱、借壳上市。

    转载请标明出处:http://blog.csdn.net/hu948162999/article/details/47777859 对于金融知识零基础的人进行扫盲,故事浅显易懂.趣味性强. 来之知乎. ...

  10. 实战Java内存泄漏问题分析 -- hazelcast2.0.3使用时内存泄漏 -- 2

    hazelcast 提供了3中方法调用startCleanup: 第一种是在ConcuurentMapManager的构造函数中,通过调用node的executorManager中的Scheduled ...