;
删除数据库
drop database
4. 数据类型
数值类型
日期类型
字符串类型
char、varchar、text这三种类型比较:
(1)char: char 不用多说了,它是定长格式的,但是长度范围是 0~255. 当你想要储存一个长度不足 255 的字符时,Mysql 会用空格来填充剩下的字符。因此在读取数据时,char 类型的数据要进行处理,把后面的空格去除。
(2)varchar: 关于 varchar,有的说最大长度是 255,也有的说是 65535,查阅很多资料后发现是这样的:varchar 类型在 5.0.3 以下的版本中的最大长度限制为 255,而在 5.0.3 及以上的版本中,varchar 数据类型的长度支持到了 65535,也就是说可以存放 65532 个字节(注意是字节而不是字符!!!)的数据(起始位和结束位占去了3个字节),也就是说,在 5.0.3 以下版本中需要使用固定的 TEXT 或 BLOB 格式存放的数据可以在高版本中使用可变长的 varchar 来存放,这样就能有效的减少数据库文件的大小。
(3)text: 与 char 和 varchar 不同的是,text 不可以有默认值,其最大长度是 2 的 16 次方-1
总结起来,有几点:
5. MySQL约束条件
1. 主键约束
定义:为属性添加一个约束可以唯一确定表中的一条记录,该属性不能重复也不能为空。
CREATE TABLE t_user (
id INT primary key,
name VARCHAR(20)
);
联合主键 定义:由多个属性组成主键,每个属性都不能为空,且每个属性不完全相同
CREATE TABLE t_user (
id INT,
name VARCHAR(20),
sex CHAR(1),
PRIMARY KEY(id, name)
);
//都可以成功插入数据
INSERT INTO t_user VALUES(1,'Jack','F');
INSERT INTO t_user VALUES(1,'Rose, 'M');
INSERT INTO t_user VALUES(2,'Jack;,'F');
// 无法插入数据
INSERT INTO t_user VALUES(null,'Machel','F');
alter table t_student add primary key(name);
// 或
alter table t_sutdent name varchar(20) primary key;
删除主键
alter table t_student drop primary key;
2. 自增约束
定义:属性设置自增约束后,插入数据时不需要带对应属性,其值会在最后一条记录的基础上加1。一般和主键约束一起全使用。
create table t_user2 (
id int primary key auto_increment,
name varchar(20)
);
insert into t_user2(name) values('James');
//可以指定id但是不能重复
insert into t_user2 values(4,'Jack');
3、唯一约束
定义:字段添加唯一约束后,表中该字段的所有值不能重复。和主键的区别为,唯一约束值可以为空。比如实际场景中用户的身份证。
create table t_user3 (
id int primary key auto_increment,
name varchar(20) unique
);
// 或者
create table t_user3 (
id int primary key auto_increment,
name varchar(20),
unique(name)
);
使用alter进行修改
/* add*/
alter table t_user3 add unique(name);
alter table t_user3 modify name varchar(20) unique;
/* delete*/
alter table t_user3 drop index name;
联合唯一 定义:由多个属性组成唯一性,属性可以为空,且每个属性不完全相同(都为空例外)
create table t_user3 (
id int primary key auto_increment,
name varchar(20),
psw varchar(20),
unique(name,psw)
);
4. 非空约束
定义:定义字段不能为空。
create table t_user4 (
id int primary key auto_increment,
account varchar(30) not null,
password varchar(30 not null
);
5. 默认约束
定义:插入一条记录,如果字段没有写入值,则会自动填充设好的默认值。
create table t_user5 {
id int primary key auto_increment,
name varchar(30),
password varchar(30) default '123456'
}
6. 外键约束
定义:一个字段的值为另一张表的主键,该约束值可以重重,也可以为空。 作用:保持数据的一致性。1、从表外键字段不能插入主表主键字段没有的值 2、主表不能直接删除被从表引用的记录
/*主表*/
create table t_class (
id int primary key auto_increment,
name varchar(30) unique not null
);
/*从表*/
create table t_student (
id int primary key auto_increment,
name varchar(30) not null,
classid int,
foreign key(classid) references t_class(id)
);
6.设计范式
1. 第一范式
设计表时,每个字段都具有原子特性,不可分割。比如:地址字段设计成一个字段,那就不满足该条件,因为这个字段可以分为:国家、省、城市、区、门牌号等。 这一原则并不是一定要遵守: 1、好处是当你要去查数据时,可以对数据进行更加祥细的分类。 2、坏外是如果你需要查的数据为各个字段的组合,你需要每次进拼接等额外操作。
这里总结为 字段原子范式。
2. 第二范式
满足第一范式的前提下,设计表时,表中的每个字段都必须依赖于主键,不能只依赖于主键的一部分(联合主键的情况)。 Eg:
有一张订单表如下:t_order 主键为联合主键(id, product_id)
id
product_id
customer_id
product_name
customer_name
因为product_name 是完全不依赖于主键的,只与product_id相关,这就不满足第二范式。为此我们应该把进行拆表来满足这个设计范式。 订单表:t_order:
id
product_id
customer_id
商品表:t_product
顾客表:t_customer
customer_id
customer_name
这样就满足了第二设计范式了。 这里总结为:主键完全依赖范式
3. 第三范式
满足第二范式的前提下,要求表中的每个字段都必须直接依赖于主键,而不是间接依赖。 Eg: 表t_order 中product_name 和主键并没有直接的依赖,而是依赖于表中product_id的值,就不满足第三范式
id
product_id
product_name
customer
我们需要修改下:
商品表:t_product
这样子就使表中的每个字段都是直接依赖于主键了。 这里总结为:主键非间接依赖范式
7. 事务
定义
事务是mysql执行任务的最小单位。
事务提交
事务提交后将对之前执行的sql语句进行持久化,数据将无法回滚,当前事务结束
自动提交 自动提交开启后,每次执行一条sql语句后,都将马上提交并且返回结果。 查看自动提交状态
select @@autocommit; 默认是开启的。
设置自动提交配置
0 为关闭 1 为开启 set autocommit=0;
手动提交 手动提交为在执行完一些sql语句后,手动调用命令进行提交 命令:
commit;
事务回滚
事务回滚,可以把未提交的sql语名执行结果进行撤销。 命令:
rollback;
手动开启事务
在自动提交的状态下,也可以开启手动提交事务。 命令:
begin; 或 start transaction;
事务的四大特征(ACID)
A: 原子性 :事务是执行sql任务的最小单位,不可分割 C: 一致性 :事务里面的sql语句执行结果是一致的,要么都成功,要么都失败 I: 隔离性 :两个事务之间都是各自独立的 D: 持久性 :事务一旦提交后,数据交被持久化,回去回滚
隔离级别
隔离级别
脏读
不可重复读
幻读
read uncommitted
1
1
1
read committed
0
1
1
repeatable read
0
0
1
serializable
0
0
0
隔离级别的查询和设置 查询
select @@tx_isolation;(8.0前) select @@transation_isolation;(8.0后) +------------------+ | @@tx_isolation | +------------------+ | READ-UNCOMMITTED | +------------------+
设置
set session transaction isolation level read uncommitted;
8. 表的链接
1. 交叉连接 cross join
定义:交叉连接也叫叫笛卡尔积连接,第一张表是 a 的每条记录会和第二张表b 中的每条记录进行组合。
隐式交叉连接
select * from A, B;
显式交叉连接
select * from A cross join B;
2. 内连接 inner join
定义:内连接又叫等值连接,通过比较运算符根据表共有的列匹配出行
隐式内连接
select * from A, B where A.id=B.id;
显式内连接
select * from A inner join B on A.id=B.id;
3. 外连接 outer join
定义:外联接可以是左向外联接、右向外联接或完整外部联接。也就是说外连接又分为:左外连接、右外连接、全外连接。外连接需要有主表或者保留表的概念 通过业务需求,分析主从表 如果使用 LEFT JOIN ,则主表在它左边 如果使用 RIGHT JOIN ,则主表在它右边 查询结果以主表为主,从表记录匹配不到,则补 null
左外连接 left outer join 或 left join
select * from A left outer join B on A.id=B.id;
右外连接 right outer join 或 right join
select * from A right outer join B on A.id=B.id;
全外连接 mysql 不支持,可以通过union的方式实现
select * from A left outer join B on A.id=B.id union select * from A right outer join B on A.id=B.id;
你可能感兴趣的:(MYSQL基础)
MySQL基础系列:数据统计sum,count
天然玩家
# MySQL MySQL GroupBy found_rows sum count
1数据表数据图1数据表数据2sum功能数据求和统计.序号表达式描述1sum(column_name)所有列的列值相加2sum(expression)统计满足表达式的所有行2.1sum(column_name)查询语句:selectsum(id)fromuserinfosgroupbysex;查询结果:+---------+|sum(id)|+---------+|166||36|+--------
MySQL基础学习知识点和重点(三)JDBC操作和连接池
Charles_ZengYC
mysql
文章目录一、JDBC1.1理解JDBC1.1.1概述1.1.2JDBC程序的开发步骤1.1.3JDBC程序的代码步骤1、注册驱动2、获取连接3、编写sql4、创建Statement对象5、执行Sql语句,接收结果6、关闭连接1.1.3Statement的三个问题1.sql的拼接问题2.sql的注入问题3、sql拼接不支持blob等二进制类型1.1.4PreparedStatement对象1.2获取
mysql基础知识
懒人w
# 数据库 mysql 数据库
简介SQL结构化查询语言。数据类型主要包括以下五大类:整数类型:BIT、BOOL、TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT浮点数类型:FLOAT、DOUBLE、DECIMAL字符串类型:CHAR、VARCHAR、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT、TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB日期类型:Date、
MySQL基础架构
GrayGo
MySQL mysql
一、MySQL体系架构引用网图:MySQL自上而下可分为网络连接层、服务层、存储引擎层和系统文件层。网络连接层客户连接器:提供MySQL服务器建立的支持。目前几乎支持所有主流的服务端编程技术。比如JAVA通过JDBCAPI连接连接。服务层服务层是MySQLServer的核心,主要包含系统管理和控制工具、连接池、SQL接口、解析器、查询优化器和缓存六个部分。连接池:负责存储和管理客户端与数据库的连接
MySQL基础学习:MySQL主从复制如何实现
玉成226
【MySQL】 mysql 学习 数据库
这里写自定义目录标题一、为什么使用MySQL主从二、主从复制原理是什么三、如何保证主从一致一、为什么使用MySQL主从保证服务的高可用:当主机宕机的时候可以选择一个从节点作为主节点,保证了我们服务的高可用。保证容灾备份:主库上的磁盘坏了,可以从从节点恢复。保证高性能:实现读写分离,降低主库的访问压力。二、主从复制原理是什么主从复制是指将主数据库的DDL和DML操作通过二进制日志传到从服务器中,然后
MySQL基础
时迁10
mysql 数据库
一、MySQL简介数据库概念数据库(Database)是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库。MySQL基本介绍MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS(RelationalDatabaseManagementSystem
MySQL体系架构图
BPDU
MySQL mysql
MySQL由连接池、SQL接口、解析器、查询优化器、缓存、存储引擎等组成,可以分为三层,即MySQLServer层、存储引擎层和文件系统层。MySQLServer层又包括连接层和SQL层。MySQL基础架构图上图中,连接池为连接层,系统管理和控制工具、SQL接口、解析器、查询优化器、缓存为SQL层,可插拔存储引擎为存储引擎层,系统文件、文件和日志为文件系统层。客户端连接器不属于以上任何一层,可以将
【架构师面试-大厂内部面试题-3】-MySQL基础命令面试大全40题
不要迷恋发哥
架构师面试 mysql 面试 数据库 架构师
做完这40道题,再也不用担心MySQL命令了,废话不多说,咱们直接上干货!!!1.开启MySQL服务servicemysqldstart/init.d/mysqldstartsafe_mysql&2.关闭MySQL服务servicemysqldstop/etc/init.d/mysqldstopmysqladmin-uroot-p123456shutdown3.检测端口是否运行lsof-i:330
阿里云数据库产品活动:RDS MySQL 9.9元抢购,千元代金券免费领
阿里云最新优惠和活动汇总
近日,阿里云推出云数据库产品活动,RDSMySQL9.9元抢购,千元代金券免费领,爆款规格6.5折起不限量购买,活动涵盖了云数据库MySQL、云数据库Redis、云数据库SQLserver、云数据库PostgreSQL11等众多数据库类产品。活动直达:点此进入阿里云数据库产品活动云数据库RDSMySQL基础版:1核1G存储50GB,秒杀价9.90/年起;云数据库RDSMySQL基础版:1核2G50
MySQL基础面试问题(一)
Zm6Cc
Java面试背诵 mysql 面试 数据库
MySQL面试问题的标准回答:什么是数据库范式?MySQL中常见的范式有哪些?标准回答:数据库范式是一组规则,用于设计关系型数据库的结构,以减少数据冗余和提高数据的一致性。常见的数据库范式包括第一范式(1NF)、第二范式(2NF)、第三范式(3NF)等。如何在MySQL中创建一个数据库和表?标准回答:可以使用CREATEDATABASE语句创建数据库,使用CREATETABLE语句创建表。例如:C
JavaWEB01:MySQL基础——数据库相关概念、MySQL安装和配置、基础的SQL语句
XXXZhy
JavaWEB mysql sql 后端
JavaWEB01:MySQL基础——数据库相关概念、MySQL安装和配置、基本的SQL语句JavaWEB02:MySQL高级——约束、数据库设计、多表查询、事务JavaWEB03:JDBCJavaWEB04:MavenJavaWEB05:MybatisJavaWEB06:Mybatis综合练习JavaWeb作业文章目录1,数据库相关概念1.1数据库1.2数据库管理系统1.3常见的数据库管理系统1
MySQL基础(二)——学习笔记
tmy99
mysql 学习 笔记
一.MySQL存储引擎1.体系结构从上至下:连接-服务-引擎(包括索引)-存储层2.存储引擎(mysql默认innodb)#建表时指定存储引擎CREATETABLE表名(字段1字段1类型[COMMENT字段1注释],......字段n字段n类型[COMMENT字段n注释])ENGINE=INNODB[COMMENT表注释];#查询存储引擎showengines;存储引擎特点:innoDB:DML操
mysql基础从头到尾快速梳理
入 梦皆星河
mysql 数据库
MYSQL数据库学习mysql的启动netstartmysqlnetstopmysqlMYSQL客户端的连接mysql-h127.0.0.1-p3306-uroot-pSQLSQL通用语法SQL语句可以单行或者多行书写,以分号结尾SQL语句可以使用空格/缩进来增强语句的可读性Mysql数据库的SQL语句不区分大小写,关键字建议使用大写注释:○单行注释:—注释内容或#注释内容○多行注释:/注释内容/
2020重新出发,MySql基础,MySql表的基本操作
夜雨流云
@[toc]MySQL数据表的基本操作数据表是数据库的重要组成部分,每一个数据库都是由若干个数据表组成的。换句话说,没有数据表就无法在数据库中存放数据。比如,在电脑中创建一个空文件夹,如果要把“HelloC语言中文网”存放到文件夹中,必须把它写在Word文档、记事本或其它能存放文本的文档中。这里的空文件夹就相当于数据库,存放文本的文档就相当于数据表。数据表的基本操作,主要包括创建数据表、查看数据表
Python操作MySQL基础
「PlanA」
Python mysql 数据库
除了使用图形化工具以外,我们也可以使用编程语言来执行SQL从而操作数据库。在Python中,使用第三方库:pymysql来完成对MySQL数据库的操作。安装第三方库pymysql使用命令行,进入cmd,输入命令pipinstallpymysql.创建到MySQL的数据库连接这里的8.0.36是MySQL的版本。使用python执行非查询性质的SQL语句代码块:执行前数据库执行后数据库使用pytho
【MySQL基础】:深入探索DQL数据库查询语言的精髓(上)
屿小夏
MySQL之旅 数据库 mysql
屿小夏:个人主页个人专栏:MySQL从入门到进阶莫道桑榆晚,为霞尚满天!文章目录前言一.DQL1.1基本语法1.2基础查询1.3条件查询1.3聚合函数️全篇总结前言DQL(DataQueryLanguage)是SQL中的一种重要语言类型,用于查询数据库中表的记录。在日常业务系统中,查询操作频率高于增删改操作。本文将深入探讨DQL的基本语法和常见查询操作,包括基本查询、条件查询、聚合函数等内容,为读
MySQL基础语法-DDL数据定义语言
大雾肆起
MySQL mysql
MySQL(关系型数据库管理系统),是当前最流行的关系型数据管理系统之一。MySQL使用的SQL语言是用于访问数据库的标准化语言。而SQL语言可以分为四大类:DDL(数据定义语言)、DML(数据操作语言)、DQL(数据查询语言)、DCL(数据控制语言)。目录创建数据库使用/切换数据库显示所有数据库创建表显示当前数据库的所有表修改表名对列的操作对表的操作约束创建数据库CREATEDATABASEda
mysql基础之视图
「已注销」
MySQL mysql sql 数据库 database
mysql基础之视图视图的理解创建视图创建单表视图创建多表联合视图基于视图创建视图利用视图对数据进行格式化查看视图更新视图的数据一般情况不可更新的视图修改视图删除视图视图的理解①视图,可以看做是一个虚拟表,本身是不存储数据的。视图的本质,就可以看做是存储起来的SELECT语句②视图中SELECT语句中涉及到的表,称为基表③针对视图做DML操作,会影响到对应的基表中的数据。反之亦然。④视图本身的删除
MySQL基础01-数据类型
四月不见
一、整数类型每个整型类型可以指定一个最小显示宽度(注意:这个宽度并不表示存储的值有多大)类型存储空间(N)取值范围:-2(N-1)到2(N-1)-1TINYINT8-128……127SMALLINT16-32768……32767MEDIUMINT24-8388608……8388607INT32-2147483648……2147483647BIGINT64(自己算......)注:如果有指定UNSI
Java难学吗?
敲代码的石榴
学习Java说难其实也不难!毕竟世上无难事,只怕有心人。Java是编程语言中比较难学的一门语言,它的难度并不低,相对比于C语言来说,Java的学习难度要小一些。Java的学习中最难得就是,各种各样的框架,框架的使用、整合、最后项目;学习Java刚开始我们要学习各种各样的基础知识:Java的基础:数据结构和算法、集合(容器)、IO流、多线程、封装、多态、继承等等数据库的基础:MySQL基础、MySQ
MySQL基础操作
duanyq666
JAVASE mysql 数据库 java
创建数据库createschema数据库名;创建表非空约束:notnull唯一约束:unique主键约束:primarykey(auto_increment,自增)默认约束:default外键约束:foreignkey//基本语法,中括号内是可以不写的createtable表名(字段1字段类型[约束][comment字段1注释],......)[comment表注释];//例如createtabl
SQL-DQL-基础查询
p-宸
重拾MySQL-基础篇 sql 数据库
欢迎您来到我的MySQL基础复习专栏☆*o(≧▽≦)o*☆哈喽~我是小小恶斯法克✨博客主页:小小恶斯法克的博客该系列文章专栏:重拾MySQL文章作者技术和水平很有限,如果文中出现错误,希望大家能指正感谢大家的关注!❤️目录DQL-介绍DQL-语法DQL-基本查询DQL-介绍DQL英文全称是DataQueryLanguage(数据查询语言),数据查询语言,用来查询数据库中表的记录。查询关键字:SEL
MySQL基础——数据类型转换CAST
这么神奇
MySQL mysql 数据库
MySQL基础——数据类型转换CASTCAST函数用于将某种数据类型的表达式显式转换为另一种数据类型。CAST()函数的参数是一个表达式,如:NOW()ASDATE,表达式包括用AS关键字分隔的源值和目标数据类型。1.语法CAST语法:CAST(expressionASdata_type)解释:expression:任何有效的表达式,可以是MySQL中的列名,可以是表达式,也可以是数值。AS:分隔
MySQL基础查询篇(7)-常用的字符串函数
俞兆鹏
MySQL学习指南 mysql
MySQL数据库是目前广泛应用于各种系统中的一种关系型数据库管理系统。在MySQL中,有许多常见的字符串函数,可以对字符串进行各种处理和操作。本文将介绍MySQL数据库中常用的一些字符串函数,并提供详细示例。CONCAT函数:用于将两个或多个字符串连接在一起。示例:SELECTCONCAT("Hello","","World")ASresult;结果:HelloWorldSUBSTRING函数:用
MySQL基础查询篇(10)-正则表达式的基础使用
俞兆鹏
MySQL学习指南 mysql
正则表达式在MySQL数据库中是非常强大且常用的功能,它可以帮助我们快速的匹配和处理文本数据。在MySQL中,正则表达式的使用可以通过正则表达式函数来实现。MySQL中常用的正则表达式函数有:REGEXP/RLIKE:通过正则表达式进行模式匹配。REGEXP_REPLACE/REGEXP_REPLACE_NTH:通过正则表达式进行字符串替换。REGEXP_INSTR:通过正则表达式检索字符串中特定
MySQL基础查询篇(8)-日期和时间函数的应用
俞兆鹏
MySQL学习指南 mysql
MySQL数据库是一种流行的关系型数据库管理系统,具有强大的日期和时间函数,用于对日期和时间数据进行各种操作和计算。在本篇博客中,我们将介绍MySQL数据库中一些常用的日期和时间函数,并提供详细示例说明其用法。1.CURDATE()和NOW()CURDATE()函数返回当前日期,NOW()函数返回当前日期和时间。这两个函数无需任何参数,直接调用即可。示例:SELECTCURDATE();--返回当
MySQL基础【通俗易懂】
Withered@
mysql
一、MySQL的环境搭建1.1、window镜像下载镜像下载:FileHorse.com/FreeSoftwareDownloadforWindowsMySQL下载:MySQL注意:每一条SQL语言结束都要有分号,关键字之间以空格进行分割window终端启动MySQL:#停止MySQL:win+R输入netstopmysql80#开启MySQL:win+R输入netstartmysq801.2、
MySQL基础语句集合
神棍一样的琉九
A.创建数据库create{database|schema}[ifnotexists]databasename[[default]charactersetcharset_name][|[default]collatecollation_name];例如:通过createdatabase语句创建一个名称为mysqltext的数据库。命令和运行结果如下:mysql>createdatabaseifno
数据库SQL
黯乡魂0918
数据库 sql mysql
数据库MySQL基础篇MySQL安装以及使用通用语法及分类DDL(数据定义语言)数据库操作表操作DDL(数据定义语言)添加数据更新和删除数据DQL(数据查询语言)基础查询条件查询聚合查询(聚合函数)分组查询排序查询分页查询DCL(数据控制语言)管理用户权限控制函数字符串函数数值函数日期函数流程函数约束常用约束外键约束删除/更新行为多表查询多表关系一对多多对多一对一查询内连接查询外连接查询自连接查询
MySQL基础知识总结
u010405836
mysql 数据库
MySQL基础知识总结大家好,我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编。在我们的程序开发和数据处理中,MySQL数据库是一个常用而强大的工具。今天,我们将回顾一些MySQL的基础知识,以帮助大家更好地理解和使用这个关系型数据库管理系统。1.什么是MySQL?MySQL是一种开源的关系型数据库管理系统(RDBMS),广泛用于Web应用程序的后台数据存储。它支持SQL(结构化查询语
mondb入手
木zi_鸣
mongodb
windows 启动mongodb 编写bat文件,
mongod --dbpath D:\software\MongoDBDATA
mongod --help 查询各种配置
配置在mongob
打开批处理,即可启动,27017原生端口,shell操作监控端口 扩展28017,web端操作端口
启动配置文件配置,
数据更灵活 
大型高并发高负载网站的系统架构
bijian1013
高并发 负载均衡
扩展Web应用程序
一.概念
简单的来说,如果一个系统可扩展,那么你可以通过扩展来提供系统的性能。这代表着系统能够容纳更高的负载、更大的数据集,并且系统是可维护的。扩展和语言、某项具体的技术都是无关的。扩展可以分为两种:
1.
DISPLAY变量和xhost(原创)
czmmiao
display
DISPLAY
在Linux/Unix类操作系统上, DISPLAY用来设置将图形显示到何处. 直接登陆图形界面或者登陆命令行界面后使用startx启动图形, DISPLAY环境变量将自动设置为:0:0, 此时可以打开终端, 输出图形程序的名称(比如xclock)来启动程序, 图形将显示在本地窗口上, 在终端上输入printenv查看当前环境变量, 输出结果中有如下内容:DISPLAY=:0.0
获取B/S客户端IP
周凡杨
java 编程 jsp Web 浏览器
最近想写个B/S架构的聊天系统,因为以前做过C/S架构的QQ聊天系统,所以对于Socket通信编程只是一个巩固。对于C/S架构的聊天系统,由于存在客户端Java应用,所以直接在代码中获取客户端的IP,应用的方法为:
String ip = InetAddress.getLocalHost().getHostAddress();
然而对于WEB
浅谈类和对象
朱辉辉33
编程
类是对一类事物的总称,对象是描述一个物体的特征,类是对象的抽象。简单来说,类是抽象的,不占用内存,对象是具体的,
占用存储空间。
类是由属性和方法构成的,基本格式是public class 类名{
//定义属性
private/public 数据类型 属性名;
//定义方法
publ
android activity与viewpager+fragment的生命周期问题
肆无忌惮_
viewpager
有一个Activity里面是ViewPager,ViewPager里面放了两个Fragment。
第一次进入这个Activity。开启了服务,并在onResume方法中绑定服务后,对Service进行了一定的初始化,其中调用了Fragment中的一个属性。
super.onResume();
bindService(intent, conn, BIND_AUTO_CREATE);
base64Encode对图片进行编码
843977358
base64 图片 encoder
/**
* 对图片进行base64encoder编码
*
* @author mrZhang
* @param path
* @return
*/
public static String encodeImage(String path) {
BASE64Encoder encoder = null;
byte[] b = null;
I
Request Header简介
aigo
servlet
当一个客户端(通常是浏览器)向Web服务器发送一个请求是,它要发送一个请求的命令行,一般是GET或POST命令,当发送POST命令时,它还必须向服务器发送一个叫“Content-Length”的请求头(Request Header) 用以指明请求数据的长度,除了Content-Length之外,它还可以向服务器发送其它一些Headers,如:
HttpClient4.3 创建SSL协议的HttpClient对象
alleni123
httpclient 爬虫 ssl
public class HttpClientUtils
{
public static CloseableHttpClient createSSLClientDefault(CookieStore cookies){
SSLContext sslContext=null;
try
{
sslContext=new SSLContextBuilder().l
java取反 -右移-左移-无符号右移的探讨
百合不是茶
位运算符 位移
取反:
在二进制中第一位,1表示符数,0表示正数
byte a = -1;
原码:10000001
反码:11111110
补码:11111111
//异或: 00000000
byte b = -2;
原码:10000010
反码:11111101
补码:11111110
//异或: 00000001
java多线程join的作用与用法
bijian1013
java 多线程
对于JAVA的join,JDK 是这样说的:join public final void join (long millis )throws InterruptedException Waits at most millis milliseconds for this thread to die. A timeout of 0 means t
Java发送http请求(get 与post方法请求)
bijian1013
java spring
PostRequest.java
package com.bijian.study;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURL
【Struts2二】struts.xml中package下的action配置项默认值
bit1129
struts.xml
在第一部份,定义了struts.xml文件,如下所示:
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts
【Kafka十三】Kafka Simple Consumer
bit1129
simple
代码中关于Host和Port是割裂开的,这会导致单机环境下的伪分布式Kafka集群环境下,这个例子没法运行。
实际情况是需要将host和port绑定到一起,
package kafka.examples.lowlevel;
import kafka.api.FetchRequest;
import kafka.api.FetchRequestBuilder;
impo
nodejs学习api
ronin47
nodejs api
NodeJS基础 什么是NodeJS
JS是脚本语言,脚本语言都需要一个解析器才能运行。对于写在HTML页面里的JS,浏览器充当了解析器的角色。而对于需要独立运行的JS,NodeJS就是一个解析器。
每一种解析器都是一个运行环境,不但允许JS定义各种数据结构,进行各种计算,还允许JS使用运行环境提供的内置对象和方法做一些事情。例如运行在浏览器中的JS的用途是操作DOM,浏览器就提供了docum
java-64.寻找第N个丑数
bylijinnan
java
public class UglyNumber {
/**
* 64.查找第N个丑数
具体思路可参考 [url] http://zhedahht.blog.163.com/blog/static/2541117420094245366965/[/url]
*
题目:我们把只包含因子
2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14
二维数组(矩阵)对角线输出
bylijinnan
二维数组
/**
二维数组 对角线输出 两个方向
例如对于数组:
{ 1, 2, 3, 4 },
{ 5, 6, 7, 8 },
{ 9, 10, 11, 12 },
{ 13, 14, 15, 16 },
slash方向输出:
1
5 2
9 6 3
13 10 7 4
14 11 8
15 12
16
backslash输出:
4
3
[JWFD开源工作流设计]工作流跳跃模式开发关键点(今日更新)
comsci
工作流
既然是做开源软件的,我们的宗旨就是给大家分享设计和代码,那么现在我就用很简单扼要的语言来透露这个跳跃模式的设计原理
大家如果用过JWFD的ARC-自动运行控制器,或者看过代码,应该知道在ARC算法模块中有一个函数叫做SAN(),这个函数就是ARC的核心控制器,要实现跳跃模式,在SAN函数中一定要对LN链表数据结构进行操作,首先写一段代码,把
redis常见使用
cuityang
redis 常见使用
redis 通常被认为是一个数据结构服务器,主要是因为其有着丰富的数据结构 strings、map、 list、sets、 sorted sets
引入jar包 jedis-2.1.0.jar (本文下方提供下载)
package redistest;
import redis.clients.jedis.Jedis;
public class Listtest
配置多个redis
dalan_123
redis
配置多个redis客户端
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=&quo
attrib命令
dcj3sjt126com
attr
attrib指令用于修改文件的属性.文件的常见属性有:只读.存档.隐藏和系统.
只读属性是指文件只可以做读的操作.不能对文件进行写的操作.就是文件的写保护.
存档属性是用来标记文件改动的.即在上一次备份后文件有所改动.一些备份软件在备份的时候会只去备份带有存档属性的文件.
Yii使用公共函数
dcj3sjt126com
yii
在网站项目中,没必要把公用的函数写成一个工具类,有时候面向过程其实更方便。 在入口文件index.php里添加 require_once('protected/function.php'); 即可对其引用,成为公用的函数集合。 function.php如下:
<?php /** * This is the shortcut to D
linux 系统资源的查看(free、uname、uptime、netstat)
eksliang
netstat linux uname linux uptime linux free
linux 系统资源的查看
转载请出自出处:http://eksliang.iteye.com/blog/2167081
http://eksliang.iteye.com 一、free查看内存的使用情况
语法如下:
free [-b][-k][-m][-g] [-t]
参数含义
-b:直接输入free时,显示的单位是kb我们可以使用b(bytes),m
JAVA的位操作符
greemranqq
位运算 JAVA位移 << >>>
最近几种进制,加上各种位操作符,发现都比较模糊,不能完全掌握,这里就再熟悉熟悉。
1.按位操作符 :
按位操作符是用来操作基本数据类型中的单个bit,即二进制位,会对两个参数执行布尔代数运算,获得结果。
与(&)运算:
1&1 = 1, 1&0 = 0, 0&0 &
Web前段学习网站
ihuning
Web
Web前段学习网站
菜鸟学习:http://www.w3cschool.cc/
JQuery中文网:http://www.jquerycn.cn/
内存溢出:http://outofmemory.cn/#csdn.blog
http://www.icoolxue.com/
http://www.jikexue
强强联合:FluxBB 作者加盟 Flarum
justjavac
r
原文:FluxBB Joins Forces With Flarum作者:Toby Zerner译文:强强联合:FluxBB 作者加盟 Flarum译者:justjavac
FluxBB 是一个快速、轻量级论坛软件,它的开发者是一名德国的 PHP 天才 Franz Liedke。FluxBB 的下一个版本(2.0)将被完全重写,并已经开发了一段时间。FluxBB 看起来非常有前途的,
java统计在线人数(session存储信息的)
macroli
java Web
这篇日志是我写的第三次了 前两次都发布失败!郁闷极了!
由于在web开发中常常用到这一部分所以在此记录一下,呵呵,就到备忘录了!
我对于登录信息时使用session存储的,所以我这里是通过实现HttpSessionAttributeListener这个接口完成的。
1、实现接口类,在web.xml文件中配置监听类,从而可以使该类完成其工作。
public class Ses
bootstrp carousel初体验 快速构建图片播放
qiaolevip
每天进步一点点 学习永无止境 bootstrap 纵观千象
img{
border: 1px solid white;
box-shadow: 2px 2px 12px #333;
_width: expression(this.width > 600 ? "600px" : this.width + "px");
_height: expression(this.width &
SparkSQL读取HBase数据,通过自定义外部数据源
superlxw1234
spark sparksql sparksql读取hbase sparksql外部数据源
关键字:SparkSQL读取HBase、SparkSQL自定义外部数据源
前面文章介绍了SparSQL通过Hive操作HBase表。
SparkSQL从1.2开始支持自定义外部数据源(External DataSource),这样就可以通过API接口来实现自己的外部数据源。这里基于Spark1.4.0,简单介绍SparkSQL自定义外部数据源,访
Spring Boot 1.3.0.M1发布
wiselyman
spring boot
Spring Boot 1.3.0.M1于6.12日发布,现在可以从Spring milestone repository下载。这个版本是基于Spring Framework 4.2.0.RC1,并在Spring Boot 1.2之上提供了大量的新特性improvements and new features。主要包含以下:
1.提供一个新的sprin