学习笔记 --MySQL

本贴最后更新于 3142 天前,其中的信息可能已经物是人非

//安装 mysql5.7 解压版

1. 解压

2. 设置环境变量

PATH 中加入 mysql 的 bin 路径

3. 修改 my-default.ini

[mysqld]

basedir = D:\MySQL\Server\mysql-5.6.20-win32
datadir = D:\MySQL\Server\data
port = 3306

4. 安装 mysql 服务

在 bin 下执行:

D:\MySQL\Server\mysql-5.6.20-win32\bin>mysqld -install
Service successfully installed.

//MySQL 管理

//启动及关闭 MySQL

启动 mysql 服务

若在 myql 目录中没有 data 文件夹,则会启动失败,需要在 bin 中执行:

mysqld --initialize-insecure --user=mysql

会自动创建 data 文件夹,现在可以启动 mysql 服务:

net start mysql

登录 mysql:

mysql -u root -p

默认密码为空

添加密码:

mysqladmin -u root password "new_password"

关闭 mysql 服务

mysqladmin -u root -p shutdown

//用户设置

创建用户

CREATE USER 'username'@'host' IDENTIFIED BY 'password';

说明:username - 你将创建的用户名, host - 指定该用户在哪个主机上可以登陆,如果是本地用户可用 localhost, 如果想让该用户可以从任意远程主机登陆,可以使用通配符 %. password - 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器.

注意:% 为任意远程主机,localhost 和 127.0.0.1 权限不一样

例子: CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456';

CREATE USER 'pig'@'192.168.1.101_' IDENDIFIED BY '123456';

CREATE USER 'pig'@'%' IDENTIFIED BY '123456';

CREATE USER 'pig'@'%' IDENTIFIED BY '';

CREATE USER 'pig'@'%';

授权

GRANT privileges ON databasename.tablename TO 'username'@'host'

说明: privileges - 用户的操作权限,如 SELECT , INSERT , UPDATE 等(详细列表见该文最后面).如果要授予所的权限则使用 ALL.;databasename - 数据库名,tablename-表名,如果要授予该用户对所有数据库和表的相应操作权限则可用表示, 如.*.

注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:

GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;

设置与更改用户密码

SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');如果是当前登陆用户用 SET PASSWORD = PASSWORD("newpassword");

例子: SET PASSWORD FOR 'pig'@'%' = PASSWORD("123456");

撤销用户权限

REVOKE privilege ON databasename.tablename FROM 'username'@'host';

注意: 假如你在给用户'pig'@'%'授权的时候是这样的(或类似的):GRANT SELECT ON test.user TO 'pig'@'%', 则在使用 REVOKE SELECT ON . FROM 'pig'@'%';命令并不能撤销该用户对 test 数据库中 user 表的 SELECT 操作.相反,如果授权使用的是 GRANT SELECT ON . TO 'pig'@'%';则 REVOKE SELECT ON test.user FROM 'pig'@'%';命令也不能撤销该用户对 test 数据库中 user 表的 Select 权限.

删除用户:

DROP USER 'username'@'host';

重新载入授权表:

FLUSH PRIVILEGES;

在 mysql 数据库中的 user 表添加新用户:

INSERT INTO user

		  (host, user, password,

		   select_priv, insert_priv, update_priv)

		   VALUES ('localhost', 'guest',

		   PASSWORD('guest123'), 'Y', 'Y', 'Y');

注意:在 MySQL5.7 中 user 表的 password 已换成了 authentication_string

通过 GRANT 命令添加用户并添加权限:

mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP

	-> ON TUTORIALS.*

	-> TO 'zara'@'localhost'

	-> IDENTIFIED BY 'zara123';

示例:

mysql > create database example default character set utf8;

mysql > create user 'server'@'%' identified by 'example';

mysql > grant all on example.* to 'server'@'%' identified by 'example';

mysql > use example;

mysql > CREATE TABLE `User` (

	  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,

	  `userName` varchar(50) NOT NULL DEFAULT '',

	  `userPassword` varchar(50) NOT NULL DEFAULT  '',

	  `userDesc` varchar(100) NOT NULL DEFAULT  '',

	  PRIMARY KEY (`id`)

	  ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

mysql > INSERT INTO `User` (`userName`, `userPassword`, `userDesc`) VALUES

	   ('test_user', 'test_password', 'Test user for server example');

//管理 MySQL 的常用命令

mysqladmin -u root -p create ;            //创建数据库

mysqladmin -u root -p drop ;          //删除数据库

CREATE database example default character set utf8;                //创建数据库

USE <数据库名>;        //选择要操作的数据库,以后的MySQL命令都只针对该数据库

SHOW DATABASES;            //列出MySQL数据库管理系统所管理的数据库列表

SHOW TABLES;           //列出指定数据库中的所有表,需要先使用use 数据库

SHOW INDEX FROM <数据表>;               //显示数据表的详细索引信息,包括PRIMARY KEY(主键)

SHOW COLUMNS FROM <数据表>;        //显示数据表的详细列头信息

SHOW TABLE STATUS FROM <数据库> LIKE '需要匹配的字符串'\G;          //该命令将输出Mysql数据库管理系统的性能及统计信息

CREATE TABLE table_name (column_name column_type);            //创建数据表

SHOW PROCESSLIST;       //显示数据库连接线程列表

SHOW CREATE TABLE table_name;        //显示表信息

SHOW VARIABLES LIKE '%character%';          //显示字符集编码信息

实例:

mysql> CREATE TABLE runoob_tbl(-> runoob_id INT NOT NULL AUTO_INCREMENT,-> runoob_title VARCHAR(100) NOT NULL,-> runoob_author VARCHAR(40) NOT NULL,-> submission_date DATE,-> PRIMARY KEY ( runoob_id )->  ) ENGINE=InnoDB DEFAULT CHARSET = utf8;Query OK,  0 rows affected (0.16 sec)

DROP TABLE table_name;            //删除数据表

INSERT INTO table_name (field1, field2, ... fieldN) VALUES (value1, value2, ...valueN);            //插入数据

SELECT column_name, column_name FROM table_name [WHERE Clause] [OFFSET M] [LIMIT N];    //查询数据

UPDATE table_name SET field1=new-value1, field2=new-value2 [WHERE Clause];           //更新数据

DELETE FROM table_name [WHERE Clause];              //删除数据

SELECT field1, field2, ... fieldN table_name1, table_name2,... table_nameN WHERE field1 LIKE condition1;            //where从句中like和%的使用

SELECT field1, field2, ...fieldN table_name1, table_name2, ...table_nameN ORDER BY field1, [field2...] ASC [DESC]

//排序

set names utf8;              //设置为utf8编码

SET sql_mode='NO_AUTO_VALUE_ON_ZERO';              //设置AUTO_INCREMENT的值从0开始

//GROUP BY 语法,在分组的列上我们可以使用 COUNT, SUM, AVG,等函数。

SELECT column_name,  function(column_name) FROM table_name
WHERE column_name operator value
GROUP BY column_name;

实例:

mysql> SELECT name, COUNT(*) FROM   employee_tbl GROUP BY name;

mysql> SELECT name, SUM(singin)  as singin_count FROM  employee_tbl GROUP BY name WITH ROLLUP;

mysql> SELECT coalesce(name,  '总数'), SUM(singin)  as singin_count FROM  employee_tbl GROUP BY name WITH ROLLUP;

//MySQL 连接的使用

//使用 INNER JOIN

例:SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a INNER JOIN tcount_tbl b ON a.runoob_author = b.runoob_author;

等价于:SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a, tcount_tbl b WHERE a.runoob_author = b.runoob_author;

//使用 LEFT JOIN

例:SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a LEFT JOIN tcount_tbl b ON a.runoob_author = b.runoob_author;

//使用 RIGHT JOIN

例:SELECT b.runoob_id, b.runoob_author, a.runoob_count FROM tcount_tbl a RIGHT JOIN runoob_tbl b ON a.runoob_author = b.runoob_author;

//使用 NULL

必须使用 IS NULL,或 IS NOT NULL,或 <=> 用于比较两个 NULL

//MySQL 正则表达式

MySQL 中使用 REGEXP 操作符来进行正则表达式匹配。

| 模式 | 描述 |
| ^ | 匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 '\n' 或 '\r' 之后的位置。 |
| | 匹配输入字符串的结束位置。如果设置了RegExp 对象的 Multiline 属性, 也匹配 '\n' 或 '\r' 之前的位置。 |
| . | 匹配除 "\n" 之外的任何单个字符。要匹配包括 '\n' 在内的任何字符,请使用象 '[.\n]' 的模式。 |
| [...] | 字符集合。匹配所包含的任意一个字符。例如, '[abc]' 可以匹配 "plain" 中的 'a'。 |
| [^...] | 负值字符集合。匹配未包含的任意字符。例如, '[^abc]' 可以匹配 "plain" 中的'p'。 |
| p1|p2|p3 | 匹配 p1 或 p2 或 p3。例如,'z|food' 能匹配 "z" 或 "food"。'(z|f)ood' 则匹配 "zood" 或 "food"。 |
| * | 匹配前面的子表达式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。* 等价于{0,}。 |
| + | 匹配前面的子表达式一次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等价于 {1,}。 |
| {n} | n 是一个非负整数。匹配确定的 n 次。例如,'o{2}' 不能匹配 "Bob" 中的 'o',但是能匹配 "food" 中的两个 o。 |
| {n,m} | m 和 n 均为非负整数,其中 n <= m。最少匹配 n 次且最多匹配 m 次。 |

//MySQL 事务

1,开始一个事务

start transaction

2, 做保存点

savepoint 保存点名称

3, 操作

4,可以回滚,可以提交,没有问题,就提交,有问题就回滚。

例:

SET AUTOCOMMIT = 0;               //设置为不自动提交,因为MYSQL默认立即执行

BEGIN;             //开始事务定义

...;             //操作

ROLLBACK;             //有问题回滚

COMMIT;               //成功则执行事务

//MySQL 的 ALTER 命令

//添加删除表字段

ALTER TABLE testalter_tbl  DROP i;             //删除i字段,不能删除最后一个字段

ALTER TABLE testalter_tbl ADD i INT;         //增加i字段并定义类型

ALTER TABLE testalter_tbl ADD i INT FIRST;             //使用MySQL提供的关键字 FIRST (设定位第一列)

ALTER TABLE testalter_tbl ADD i INT AFTER c;                 //AFTER 字段名(设定位于某个字段之后)

//修改字段类型和名称

ALTER TABLE testalter_tbl MODIFY c CHAR(10);                //把字段 c 的类型从 CHAR(1) 改为 CHAR(10)

ALTER TABLE testalter_tbl CHANGE i j BIGINT;              //把字段i名称改为j,并将类型改为BIGINT

ALTER TABLE testalter_tbl MODIFY j BIGINT NOT NULL DEFAULT 100;      //指定字段 j 为 NOT NULL 且默认值为100,若不指定默认值为NULL

//修改字段默认值

ALTER TABLE testalter_tbl ALTER i SET DEFAULT 1000;            //使用 ALTER 来修改字段的默认值

ALTER TABLE testalter_tbl ALTER i DROP DEFAULT;              //使用 ALTER 命令及 DROP子句来删除字段的默认值

//修改表名

ALTER TABLE testalter_tbl RENAME TO alter_tbl;        //将数据表 testalter_tbl 重命名为 alter_tbl

//MySQL 创建索引

//普通索引

CREATE INDEX indexName ON tableName(columnName(length));        //创建索引,方法1

ALTER TABLE tableName ADD INDEX indexName(columnName(length));             //修改表结构,方法2

CREATE TABLE mytable( ID INT NOT NULL,  username VARCHAR(16) NOT NULL, INDEX [indexName] (username(length)));             //创建表时直接指定,方法3

DROP INDEX indexName ON tableName;                //删除索引

//唯一索引

ALTER TABLE tbl_name ADD PRIMARY KEY (column_list);              //添加一个主键,要确保主键不为NULL

CREATE UNIQUE INDEX indexName ON mytable(username(length));              //创建索引,方法1

ALTER table mytable ADD UNIQUE [indexName] (username(length));               //修改表结构,方法2

CREATE TABLE mytable( ID INT NOT NULL,  username VARCHAR(16) NOT NULL, UNIQUE [indexName] (username(length)));                          //创建表时指定,方法3

 ALTER TABLE tbl_name ADD FULLTEXT index_name (column_list);               //添加全文索引

ALTER TABLE tbl_name DROP INDEX (column_list);                 //删除索引

ALTER TABLE tbl_name DROP PRIMARY KEY;          //删除主键

SHOW INDEX FROM tableName\G;                 //显示索引信息

//MySQL 临时表

CREATE TEMPORARY TABLE tableName (...);             //创建临时表

删除临时表与删除其他表一样,但 show tables 不能显示临时表

//MySQL 复制表

SHOW CREATE TABLE runoob_tbl \G;                      //获取创建数据表(CREATE TABLE) 语句

复制以下命令显示的SQL语句,修改数据表名,并执行SQL语句,通过以上命令 将完全的复制数据表结构。

INSERT INTO ... SELECT... 语句来实现复制表的内容

mysql> INSERT INTO clone_tbl (runoob_id,-> runoob_title,-> runoob_author,-> submission_date)-> SELECT runoob_id,runoob_title,-> runoob_author,submission_date -> FROM runoob_tbl;

//获取服务器元数据

SELECT VERSION();            //服务器版本信息

SELECT DATABASE();               //当前数据库名

SELECT USER();         //当前用户名

SHOW STATUS;          //服务器状态

SHOW VARIABLES;           //服务器配置变量

//MySQL 序列使用

使用 AUTO_INCREMENT 定义列

LAST_INSERT_ID()             //获取最后的插入表中的自增的值的函数

重置序列:

mysql> ALTER TABLE insect DROP id; mysql> ALTER TABLE insect -> ADD id INT UNSIGNED NOT NULL AUTO_INCREMENT FIRST,-> ADD PRIMARY KEY (id);

设置序列的开始值:

mysql> ALTER TABLE t AUTO_INCREMENT =  100;

或者在创建时直接 AUTO_INCREMENT = 100

//MySQL 处理重复数据

防止表中出现重复数据

防止重复插入:

INSERT IGNORE INTO

REPLACE INTO

设置唯一索引:

CREATE TABLE person_tbl ( first_name CHAR(20) NOT NULL, last_name CHAR(20) NOT NULL, sex CHAR(10) UNIQUE (last_name, first_name));

统计重复数据:

mysql> SELECT COUNT(*)  as repetitions, last_name, first_name -> FROM person_tbl -> GROUP BY last_name, first_name -> HAVING repetitions >  1;

过滤重复数据:

mysql> SELECT DISTINCT last_name, first_name -> FROM person_tbl -> ORDER BY last_name;

或使用 GROUP BY 来读取

删除重复数据:

mysql> CREATE TABLE tmp SELECT last_name, first_name, sex -> FROM person_tbl;-> GROUP BY (last_name, first_name); mysql> DROP TABLE person_tbl; mysql> ALTER TABLE tmp RENAME TO person_tbl;

或者通过添加主键/索引的方法:

mysql> ALTER IGNORE TABLE person_tbl -> ADD PRIMARY KEY (last_name, first_name);

//MySQL 导出数据

使用 SELECT ... INTO OUTFILE ...语句导出数据

mysql> SELECT * FROM runoob_tbl -> INTO OUTFILE '/tmp/tutorials.txt';

指定格式,如 CSV 格式:

mysql> SELECT * FROM passwd INTO OUTFILE '/tmp/tutorials.txt'-> FIELDS TERMINATED BY ',' ENCLOSED BY '"'-> LINES TERMINATED BY '\r\n';

SELECT a,b,a+b INTO OUTFILE '/tmp/result.text' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM test_table;

使用 LOAD DATA INFILE 可以将文件读回数据库

导出表作为原始数据:

mysqldump 是 mysql 用于转存储数据库的实用程序。它主要产生一个 SQL 脚本,其中包含从头重新创建数据库所必需的命令 CREATE TABLE INSERT 等。

$ mysqldump -u root -p --no-create-info \ --tab=/tmp RUNOOB runoob_tbl
password ******

导出 SQL 格式的数据:

$ mysqldump -u root -p RUNOOB runoob_tbl >  dump.txt
password ******

导出整个数据库:

$ mysqldump -u root -p RUNOOB > database_dump.txt
password ******

导出所有数据库:

$ mysqldump -u root -p --all-databases > database_dump.txt
password ******

将数据库拷贝到其他主机:

$ mysqldump -u root -p database_name table_name >  dump.txt
password *****

$ mysql -u root -p database_name <  dump.txt
password *****

你也可以使用以下命令将导出的数据直接导入到远程的服务器上,但请确保两台服务器是相通的,是可以相互访问的:p> $ mysqldump -u root -p database_name \ | mysql -h other-host.com database_name

//MySQL 导入数据

使用 LOAD DATA 导入数据

mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl;

如果指定 LOCAL 关键词,则表明从客户主机上按路径读取文件。如果没有指定,则文件在服务器上按路径读取文件。

指定 FIELDS 和 LINES

mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl -> FIELDS TERMINATED BY ':'-> LINES TERMINATED BY '\r\n';

指定顺序

mysql> LOAD DATA LOCAL INFILE 'dump.txt'-> INTO TABLE mytbl (b, c, a);

使用 mysqlimport 导入数据

$ mysqlimport -u root -p --local  --fields-terminated-by=":" \ --lines-terminated-by="\r\n" database_name dump.txt
password *****

使用 --columns 选项来设置列的顺序

$ mysqlimport -u root -p --local  --columns=b,c,a \
	database_name dump.txt
password *****

mysqlimport 的常用选项介绍

| 选项 | 功能 |
| -d or --delete | 新数据导入数据表中之前删除数据数据表中的所有信息 |
| -f or --force | 不管是否遇到错误,mysqlimport 将强制继续插入数据 |
| -i or --ignore | mysqlimport 跳过或者忽略那些有相同唯一 关键字的行, 导入文件中的数据将被忽略。 |
| -l or -lock-tables | 数据被插入之前锁住表,这样就防止了, 你在更新数据库时,用户的查询和更新受到影响。 |
| -r or -replace | 这个选项与-i 选项的作用相反;此选项将替代 表中有相同唯一关键字的记录。 |
| --fields-enclosed- by= char | 指定文本文件中数据的记录时以什么括起的, 很多情况下 数据以双引号括起。 默认的情况下数据是没有被字符括起的。 |
| --fields-terminated- by=char | 指定各个数据的值之间的分隔符,在句号分隔的文件中, 分隔符是句号。您可以用此选项指定数据之间的分隔符。 默认的分隔符是跳格符(Tab) |
| --lines-terminated- by=str | 此选项指定文本文件中行与行之间数据的分隔字符串 或者字符。 默认的情况下 mysqlimport 以 newline 为行分隔符。 您可以选择用一个字符串来替代一个单个的字符: 一个新行或者一个回车。 |

SQL 数据类型

| INTEGER 或 INT | 通常为 32 位整数 |
| SMALLINT | 通常为 16 位整数 |
| NUMERIC(m, n), DECIMAL(m, n) 或 DEC(m, n) | m 位长的定点十进制数,其中小数点后为 n 位 |
| FLOAT(n) | 运算精度为 n 位二进制数的浮点数 |
| REAL | 通常为 32 位浮点数 |
| DOUBLE | 通常为 64 位浮点数 |
| CHARACTER(n)或 CHAR(n) | 固定长度为 n 的字符串 |
| VARCHAR(n) | 最大长度为 n 的字符串 |
| BOOLEAN | 布尔值 |
| DATE | 日历日期 |
| TIME | 当前时间 |
| TIMESTAMP | 当前日期和时间 |
| BLOB | 二进制大对象 |
| CLOB | 字符大对象 |

  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    695 引用 • 538 回帖 • 1 关注
  • 数据库

    据说 99% 的性能瓶颈都在数据库。

    348 引用 • 765 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • Bug

    Bug 本意是指臭虫、缺陷、损坏、犯贫、窃听器、小虫等。现在人们把在程序中一些缺陷或问题统称为 bug(漏洞)。

    76 引用 • 1746 回帖 • 10 关注
  • CloudFoundry

    Cloud Foundry 是 VMware 推出的业界第一个开源 PaaS 云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。

    4 引用 • 16 回帖 • 198 关注
  • HHKB

    HHKB 是富士通的 Happy Hacking 系列电容键盘。电容键盘即无接点静电电容式键盘(Capacitive Keyboard)。

    5 引用 • 74 回帖 • 548 关注
  • Sillot

    Insights(注意当前设置 master 为默认分支)

    汐洛彖夲肜矩阵(Sillot T☳Converbenk Matrix),致力于服务智慧新彖乄,具有彖乄驱动、极致优雅、开发者友好的特点。其中汐洛绞架(Sillot-Gibbet)基于自思源笔记(siyuan-note),前身是思源笔记汐洛版(更早是思源笔记汐洛分支),是智慧新录乄终端(多端融合,移动端优先)。

    主仓库地址:Hi-Windom/Sillot

    文档地址:sillot.db.sc.cn

    注意事项:

    1. ⚠️ 汐洛仍在早期开发阶段,尚不稳定
    2. ⚠️ 汐洛并非面向普通用户设计,使用前请了解风险
    3. ⚠️ 汐洛绞架基于思源笔记,开发者尽最大努力与思源笔记保持兼容,但无法实现 100% 兼容
    29 引用 • 25 回帖 • 152 关注
  • PHP

    PHP(Hypertext Preprocessor)是一种开源脚本语言。语法吸收了 C 语言、 Java 和 Perl 的特点,主要适用于 Web 开发领域,据说是世界上最好的编程语言。

    167 引用 • 408 回帖 • 494 关注
  • FreeMarker

    FreeMarker 是一款好用且功能强大的 Java 模版引擎。

    23 引用 • 20 回帖 • 475 关注
  • 大疆创新

    深圳市大疆创新科技有限公司(DJI-Innovations,简称 DJI),成立于 2006 年,是全球领先的无人飞行器控制系统及无人机解决方案的研发和生产商,客户遍布全球 100 多个国家。通过持续的创新,大疆致力于为无人机工业、行业用户以及专业航拍应用提供性能最强、体验最佳的革命性智能飞控产品和解决方案。

    2 引用 • 14 回帖
  • 酷鸟浏览器

    安全 · 稳定 · 快速
    为跨境从业人员提供专业的跨境浏览器

    3 引用 • 59 回帖 • 64 关注
  • 倾城之链
    23 引用 • 66 回帖 • 188 关注
  • AWS
    11 引用 • 28 回帖 • 1 关注
  • Bootstrap

    Bootstrap 是 Twitter 推出的一个用于前端开发的开源工具包。它由 Twitter 的设计师 Mark Otto 和 Jacob Thornton 合作开发,是一个 CSS / HTML 框架。

    18 引用 • 33 回帖 • 646 关注
  • LeetCode

    LeetCode(力扣)是一个全球极客挚爱的高质量技术成长平台,想要学习和提升专业能力从这里开始,充足技术干货等你来啃,轻松拿下 Dream Offer!

    209 引用 • 72 回帖
  • Latke

    Latke 是一款以 JSON 为主的 Java Web 框架。

    71 引用 • 535 回帖 • 847 关注
  • Facebook

    Facebook 是一个联系朋友的社交工具。大家可以通过它和朋友、同事、同学以及周围的人保持互动交流,分享无限上传的图片,发布链接和视频,更可以增进对朋友的了解。

    4 引用 • 15 回帖 • 443 关注
  • JVM

    JVM(Java Virtual Machine)Java 虚拟机是一个微型操作系统,有自己的硬件构架体系,还有相应的指令系统。能够识别 Java 独特的 .class 文件(字节码),能够将这些文件中的信息读取出来,使得 Java 程序只需要生成 Java 虚拟机上的字节码后就能在不同操作系统平台上进行运行。

    180 引用 • 120 回帖
  • Word
    13 引用 • 41 回帖 • 1 关注
  • 书籍

    宋真宗赵恒曾经说过:“书中自有黄金屋,书中自有颜如玉。”

    85 引用 • 414 回帖
  • Rust

    Rust 是一门赋予每个人构建可靠且高效软件能力的语言。Rust 由 Mozilla 开发,最早发布于 2014 年 9 月。

    60 引用 • 22 回帖
  • Thymeleaf

    Thymeleaf 是一款用于渲染 XML/XHTML/HTML5 内容的模板引擎。类似 Velocity、 FreeMarker 等,它也可以轻易的与 Spring 等 Web 框架进行集成作为 Web 应用的模板引擎。与其它模板引擎相比,Thymeleaf 最大的特点是能够直接在浏览器中打开并正确显示模板页面,而不需要启动整个 Web 应用。

    11 引用 • 19 回帖 • 412 关注
  • wolai

    我来 wolai:不仅仅是未来的云端笔记!

    2 引用 • 14 回帖 • 7 关注
  • Love2D

    Love2D 是一个开源的, 跨平台的 2D 游戏引擎。使用纯 Lua 脚本来进行游戏开发。目前支持的平台有 Windows, Mac OS X, Linux, Android 和 iOS。

    14 引用 • 53 回帖 • 572 关注
  • 机器学习

    机器学习(Machine Learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

    78 引用 • 37 回帖
  • API

    应用程序编程接口(Application Programming Interface)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

    79 引用 • 431 回帖 • 1 关注
  • FlowUs

    FlowUs.息流 个人及团队的新一代生产力工具。

    让复杂的信息管理更轻松、自由、充满创意。

    1 引用 • 1 关注
  • Quicker

    Quicker 您的指尖工具箱!操作更少,收获更多!

    39 引用 • 170 回帖
  • 房星科技

    房星网,我们不和没有钱的程序员谈理想,我们要让程序员又有理想又有钱。我们有雄厚的房地产行业线下资源,遍布昆明全城的 100 家门店、四千地产经纪人是我们坚实的后盾。

    6 引用 • 141 回帖 • 623 关注
  • MongoDB

    MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是一个基于分布式文件存储的数据库,由 C++ 语言编写。旨在为应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 JSON 的 BSON 格式,因此可以存储比较复杂的数据类型。

    91 引用 • 59 回帖 • 1 关注