首页 文章 精选 留言 我的

精选列表

搜索[个人知识库],共10000篇文章
优秀的个人博客,低调大师

SQL数据库语法mysql,Java语言,个人整理资料

结构化语言Sql(structured query language)结构化查询语言 DML 用来操作数据库中所包含的数据 (数据操作语言) Update 数据修改 DDL 用于创建和删除数据库对象等操作 (数据定义语言) Insert 数据新增 Delete 数据删除 DQL 用来对数据库中的数据进行查询 (数据查询语言) Create 创建数据库或表 Drop 删除数据库或表 Alter 修改数据库或表信息 Select 查询数据库 DCL 用来控制数据库组件的存储许可、存储权限等 (数据控制语言) Commit 提交数据库 Rollback 回滚数据 Grant 授权 优势运行速度快 体积小成本低 可移植性好 适用用户广 作用存储数据、便于数据检索 保证数据完整、一致 共享、安全 对数据进行重新组合 数据库和应用之间的关系数据库:存储数据,将数据响应给应用程序 应用程序:向数据库发请求,将数据库响应的信息进行展示 流行的数据库Oracle SQL server mysql 配置Prot:设置端口号 Default-charactrt-set设置编码格式 Datadir:设置数据保存路径 服务 启动方式1 我的电脑-管理服务-对应服务右键启动 2 管理员cmd-net start 服务名称 3 管理员cmd-net stop 服务名称 登录 mysql -h地址 -u 用户名 -p 密码 (-h可省略,用于异地登录) 退出 quit 运算符逻辑运算符AND 并且 OR 或者 NOT 非 比较运算符= 等于 < 小于 大于 <> 不等于(常用) = 大于等于 <= 小于等于 != 不等于 数据库操作Database(删除创建,判断是否存在)Create database数据库名 (创建数据库) Drop database 数据库名 (删除数据库) Drop database if exists数据库名 (如果存在删除数据库) TableUse 数据库名 (指定数据库) Create table 表名 (创建表名) Create table 表名(头大1 定义类型(长度),头大1 定义类型(长度),……) Show tables (查看表) Desc 表名 (查看指定表内容) Insert into 表名 values(值1,值2) 主要顺序、数量、类型要与表字段一致 Select * from 表名 查看表内所有字段内容(查询数据) Select 字段名 from 表名 Delete from 表名 删除表内所有内容 Delete from 表名 where字段=值 删除指定内容 Delete from 表名 where字段1=值 and 字段2=值 删除指定多个内容 Truncate table 表名 (清空数据并将标识恢复到默认开始) Update 表名 set 字段=值,字段=值 where 字段=值 修改内容 创建表后添加另一个表的数据:insert into 表1 select * from 表2; 重命名: alter table 表名 rename【to】 新表名 添加字段: alter table 表名 add 字段 类型 【属性】 修改字段: alter table 表名 change 原字段 新字段 类型 【属性】 删除字段: alter table 表名 drop 字段名称 约束Unique key 唯一约束 Not null 非空约束 Default 默认约束 Primary key 主键约束 Foreign key 外键约束 Constraint fk自启表名 foreign key(要设置的字段) references 主表名(被设置字段) Auto_increment 自动增长 在创建表结构后添加约束 添加主键 alter table 表名 add Constraint 约束名 primary key 表名(主键字段) 添加外键 alter table 表名 add Constraint 约束名 foreign key(要设置的外键字段) references 主表名(被设置字段) 删除主外键 Alter table 表名 drop constraint 约束名 帮助Help data types 查看数据类型 Help 类型 查看具体信息 设置编码格式:set names gbk Comment:注释 每个字段添加(注释) 引擎指定存储引擎常见存储引擎:inniDB支持事物用于增删 MyISAM不支持实物适用于查询 Create table 表名(……)engine=存储引擎 配置 My.ini文件 Default storage engine = innoDB; 查看 Show variable like storage_engines; 数据查询Select 列名 from 表名 where 查询条件 order by 排序的列名 asd或desc 查询使用别名 Select 字段 ’编号’,字段名 as ‘名字’from 表名 非空查询 Select 字段 from 表名Where 字段 is not bull Select * from 表名Where 字段 is not bull 聚合函数Avg 平均值 Count 字段行数 Max 最大值 Min 最小值 Sum 和 Select 聚合函数(字段) from 表名; 字符串Select Concat(‘字符’,‘字符’) 拼接字符串 Select Lower(‘字符’) 转换小写 Select Upper(‘字符’) 转换大写 Select Substr(‘字符’,截取开始,截取长度) 截取字符串 Select insert(‘字符’,替换开始,替换长度,‘字符’) 替换指定区间字符 日期获取当前时间: Select NOW(); 当前日期时间 Select curdate(); 当前日期 Select curtime(); 当前时间 拆分当前时间: select YEAR(NOW()); 当前年份 select MONTH(NOW()); 当前月 select bay(NOW()); 当前当前日 select WEEK(NOW()); 当前周 计算时间: Select darediff(‘时间’,now()); 两个时间的间隔 select adddate(NOW(),n); 获得那天后的日期 Mysql数据库的链接创建用户Create user 用户名; 管理员登录 Grant select on . to 用户名 @对方地址 identified by 密码 Grant 权限 on 数据库.表 to 用户名 @l主机地址 identified by 密码 主机地址:主机名、ip、%(允许任意地址远程访问) 删除用户:访问 mysql.user 表,通过delete删除(注意where条件) 修改密码Mysqladmin -uroot -p(‘修改后的密码’) 忘记密码情况下修改密码: 停止服务 在my.ini配置文件中写入skip-grant-tables启动服务dos中使用mysql -uroot -p 在输入updare mysql user set password=PASSWORD(‘新密码’)where user=’root’and host=’ 地址’; Quit退出 停止服务奖my.ini中的skip-grant-tables注掉 启动服务正常登陆 Update user 用户名 set password=PASSWORD(‘修改后的密码’) Update user set password=PASSWORD(‘修改后的密码’) 授权All所有权限 Grant 授权(以逗号隔开)on 数据库名. 表名 to 用户名 收回 Revoke 权限(以逗号隔开)on 数据库名. 表名 from 用户名 设置密码Set password for 用户名=password(‘密码’); 操作技巧发现执行命令有错误用ctrl+c强制退出 光标上下键访问用过的命令 Flush privileges 命令更新(刷新) 数据库操作导出数据库Mysqldump -u用户名 -p 密码 数据库名>导出的文件名 导出一个代表Mysqldump -u用户名 -p 密码 数据库名 表名>导出的文件名 导出一个数据库结构Mysqldump -u用户名 -p 密码 -d -add-drop-table 表名>文件名.sql -d没有数据 -add-drop-table在每个create语句之前增加一个drop table 数据传入Load data local infile “文件为位置(TXT文件)”into table 表名 导入sql文件Mysqldump -u用户名 -p 密码 表名>文件名.sql 排序Order by 字段名称 [排序方式(可省略)] Asc升序排练 Desc降序排练 如:select * from pen order by cityed ASC; select * from pen where cityed=2 order by id desc; 分组max()最大值 Min()最小值 Count()个数 Avg()平均数 Sum()求和 Select 函数(字段) from 表名 group by 字段 条件 Select 字段1,函数(字段) from 表名 group by 字段1 having 字段1=条件 多表联查 链接查询select 字段,字段,字段 from 表名1 表别名1,表名2 表别名2 where 字段=别名.字段; 内联Inner join 表名 on 条件 左外接Left join 表名 on 条件 右外接Right join 表名 on 条件 select 别名.字段,字段,字段 from 表名1 表别名1 inner join 表名2 表别名2 on 表别名1 .字段=表别名2.字段 ; 事物事物具有:原子性,一致性,隔离性,持久性 步骤开始事物(begin或start transaction)——提交事物(commit)——回滚事物(rollbank); 关闭/开启自动提交:set autocommit=0|1; 视图筛选表中的行 防止未经许可的用户访问敏感数据 将多个物理数据表抽象为一个逻辑数据表 查看所有视图名称Use 数据库 Select 表名 from views 创建视图View Use 数据库 Create view 视图名1 as select * from 表名 select * from 视图名1 索引Index Create 索引类型(可不写)index 索引名 on 表名(字段) Drop index 索引名 on 表 Show index 索引名 提高数据库的检索速度 标准平凡搜索的列 规范化关系一对一,一对多,多对一,多对多 三大范式1.确定 Java连接数据库添加jar包在项目根目录创建lib文件夹将jar包考入 在jar包上右键选择Build Path——Add Build Path 注:加载驱动的类在——com.mysql.jdbc.Driver 编写链接类注:链接数据库使用JavaAPI(Java Application Program interface) Connection:链接 Statement:执行sql语句 ResultSet:结果集 具体步骤1加载驱动创建链接加载驱动 Class.forName(“com.mysql.jdbc.Driver”); 创建链接 DriverManager.getConnection(“jdbc:mysql://数据库地址:端口号/数据库名”,“用户名”,“密码”) 编写sql并执行创建statement对象 Statement st=conn.createStatement(); 通过对象调用执行方法 Execute(sqlstr);返回boolean类型 ExecuteQuery(sqlstr);返回ResultSet类型,结果集 executeUpdate(sqlstr);返回int类型,受影响行数 处理返回结果Boolean、int直接赋值对应类型变量 用于判断或输出返回 ResultSet通过while循环便利取值 next():返回boolean类型 判断结果集中是否有数据存在 取值:gettype(int/string) Type对应数据库的类型自定义如:getInt(int/string) int/string取值时可使用字段的索引位置(索引默认从1开始)或直接写字段 事例: packagedemo; importjava.sql.Connection; importjava.sql.DriverManager; importjava.sql.ResultSet; importjava.sql.Statement; publicclassdemo { /** * java对应的Api * connection:负责java链接数据库 * statement:负责执行sql语句 * resultset:处理结果 */ publicstaticConnection conn; publicstaticStatement stat; publicstaticResultSet res; publicstaticConnection getConnection() throwsException{ //加载驱动 Class.forName("com.mysql.jdbc.Driver"); //获取链接(指定数据库:地址,名称,用户名,密码) returnDriverManager.getConnection("jdbc:mysql://localhost:3306/mybank","root","296768022"); } publicstaticvoidmain(String[] args) { try{ //创建链接(获取到链接对象后一定要赋值) conn=getConnection(); System.out.println("链接成功"); //编写sql语句 Statement st=conn.createStatement(); booleanisOk=st.execute("select * from school"); //查看结果 res=st.executeQuery("select * from school"); System.out.print(isOk); while(res.next()){ System.out.println(res.getInt("sch")+"——"+res.getString("schName")+"——"+res.getString("schId")); } } catch(Exception e) { // TODOAuto-generated catch block e.printStackTrace(); System.out.println("链接失败"); } } } 注意事项链接字符穿的拼写 创建链接对象是注意赋值给成员变量conn=getConnection(); 异常处理驱动字符串拼写错误 链接字符串拼写错误 链接对象未赋值错误 Sql语句拼写错误 遍历结果集时字段名称不符或索引位置错误 Sql注入PreparedStatement Sql语句的执行条件通过变量传值方式注入到sql语句中产生一个新的sql语句 将Statement改换为PreparedStatement接口 将sql语句的查询条件赋值方式作调整:变为占位符?,通过对象的setXXX()方法赋值 prepareIndex默认从1开始 Mybatis映射文件中常用节点增(insert)删(delete)改(update)查(select) 辅助:if、trim、set、where 常用: Sql:组织SQL语句的编写一般结合使用 Sql内容可以自定义,提前是最终拼接成完整的sql即可 Sql数量不限可多个 Bind:将复杂的Sql进行拆分 Foreach: Collection:必须项,入参为List则为“list”,入参为数组则为“array”,入参为多参时则需要Map封装处理 Item集合中每个元素迭代时的别名 Index集合中每个元素迭代时的下标 Open表示该语句以什么开始 Close表示该语句以什么结束 Separator表示每次迭代之间以什么符号作为分割符

优秀的个人博客,低调大师

云服务器ecs个人版快速入门概述

快速入门流程 一般购买和使用云服务器 ECS实例遵循以下步骤:配置选型创建实例远程连接实例如果是 Linux 实例,格式化和挂载数据盘 ;如果是 Windows 实例,格式化数据盘 文档目的 本文档介绍了如何快速创建实例、远程连接实例、格式化数据盘等。旨在引导您一站式完成实例的创建、登录和格式化数据盘。 云服务器 ECS 实例,有时候也被称为阿里云服务器、云服务器、云服务器 ECS 等。为避免引起误解,本文一律使用 云服务器 ECS 实例 这一名称,简称 实例。 读者对象 本文档作为快速入门参考,适用于有以下需求的读者: [了解如何购买云服务器 ECS 实例](https://promotion.aliyun.com/ntms/act/shoppingcart.html?spm=5176.11533457.1089570.16

优秀的个人博客,低调大师

阿里巴巴JAVA面试后的个人总结与反思

一面这周获得了阿里巴巴的面试邀请,应聘的岗位为支付宝内某IOT部门的JAVA软件工程师。面试时间是通过电话面试1天后通知我的,地点为高端的上海大厦。 接到面试通知后的我,即高兴又有些胆怯。高兴的是:全国数一数二的大厂会给我一份面试机会,证明我的某些地方还是受到了面试人员的初步肯定;胆怯的是早就听说阿里巴巴这样的大厂要求很高,非等闲之辈很难进去,对于自己的技术知识信心感觉不足。 面试当天的下午,按照能到达的面试时间乘着地铁到达了陆家嘴地铁站,由于是第一次参加这样的大厂面试,一路上的我非常紧张激动了。出地铁后,我遍只身向上海中心大厦走去(还好以前无聊时去陆家嘴转悠过几次,陆家嘴区域中最高直上云霄的那坐旋转大厦遍是,要不然又得用步行导航了)。健步如飞的我在办理好了证件后顺利到达第N层楼,出电梯一看,“支付宝”三个大字映入门帘,想着终于见到了

优秀的个人博客,低调大师

CMU开设美国首个人工智能本科专业

卡内基梅隆大学(CMU)计算机科学学院(School of Computer Science,SCS)将在今年秋季开始,提供一个新的人工智能本科学位,为学生们提供如何将大量数据转化为可操作决策的深入知识。 这是美国大学首次开设人工智能本科专业,目的是应对人工智能领域的重大技术突破,以及学生和雇主日益增长的对人工智能培训的需求。 SCS院长安德鲁•摩尔(Andrew Moore)表示,“人工智能领域的专家从来没有像现在这样重要,他们的需求将更大。卡内基梅隆大学在人工智能领域拥有无与伦比的专业知识,这使我们具备了独特的能力,能够满足这些毕业生的需求,这些毕业生懂得如何利用人工智能的力量来帮助人们。” 今年春天,《美国新闻与世界报道》(U.S. News and World Report)将SCS列为人工智能排名第一的研究生院。 “计算机科学学

优秀的个人博客,低调大师

如何快速成为数据分析师(个人角度)

说来我正式接触数据分析也快一年,对速成还是有一些心得。优秀的数据分析师是不能速成的,但是零经验也有零经验的捷径。 分享之前我还是要推荐下我自己创建的大数据学习资料分享群 710219868 代号风火,这是全国最大的大数据学习交流的地方,2000人聚集,不管你是小白还是大牛,小编我都挺欢迎,今天的已经资讯上传到群文件,不定期分享干货,包括我自己整理的一份最新的适合2018年学习的大数据教程,欢迎初学和进阶中的小伙伴。 以上的前提针对入门,目的是达到数据分析师的门槛,顺利拿到一份offer,不涉及数据挖掘等高级技巧。我的方法倾向互联网领域,不论是分析师这个职位,还是运营、产品的能力发展都是适用的。其他领域就仁者见仁了。 市面上有《七周七数据库》,《七周七编程语言》。今天我们就《七周七学习成为数据分析师》。 没错,七周。 第一周:Excel学习掌握 如果Excel玩的顺溜,你可以略过这一周。不过介于我入行时也不会vlookup,所以有必要讲下。 重点是了解各种函数,包括但不限于sum,count,sumif,countif,find,if,left/right,时间转换等。 Excel函数不需要学全,重要的是学会搜索。即如何将遇到的问题在搜索引擎上描述清楚。 我认为掌握vlookup和数据透视表足够,是最具性价比的两个技巧。学会vlookup,SQL中的join,Python中的merge很容易理解。学会数据透视表,SQL中的group,Python中的pivot_table也是同理。 这两个搞定,基本10万条以内的数据统计没啥难度,80%的办公室白领都能秒杀。 Excel是熟能生巧,多找练习题。还有需要养成好习惯,不要合并单元格,不要过于花哨。表格按照原始数据(sheet1)、加工数据(sheet2),图表(sheet3)的类型管理。 专栏上写了三篇Excel的文章,比较简单,大体介绍了Excel应用,可以作为职场新人的指南。 第一篇数据分析—函数篇。主要简单讲解常用的函数,以及与之对应的SQL/Python函数。 第二篇数据分析—技巧篇。主要简单讲解我认为很有新价比的功能,提高工作效率。 第三篇数据分析—实战篇。主要将前两篇的内容以实战方式进行,简单地进行了一次数据分析。数据源采用了真实的爬虫数据,是5000行数据分析师岗位数据。 下面是为了以后更好的基础而附加的学习任务。 了解单元格格式,后期的数据类型包括各类timestamp,date,string,int,bigint,char,factor,float等。 了解数组,以及怎么用(excel的数组挺难用),Python和R也会涉及到 list。 了解函数和参数,当进阶为编程型的数据分析师时,会让你更快的掌握。 了解中文编码,UTF8和ASCII,包括CSV的delimiter等,以后你会回来感谢我的。 养成一个好习惯,不要合并单元格,不要过于花哨。表格按照原始数据、加工数据,图表的类型管理 第二周:数据可视化 数据分析界有一句经典名言,字不如表,表不如图。数据可视化是数据分析的主要方向之一。除掉数据挖掘这类高级分析,不少数据分析就是监控数据观察数据。 数据分析的最终都是要兜售自己的观点和结论的。兜售的最好方式就是做出观点清晰数据详实的PPT给老板看。如果没人认同分析结果,那么分析也不会被改进和优化,不落地的数据分析价值又在哪里? 首先要了解常用的图表: 各类图表的详细介绍可以查看第四篇文章:数据可视化:你想知道的经典图表全在这 了解图表后,还应该学会报表制作,这里准备了第五篇:数据可视化:打造高端的数据报表。将教会大家Excel的高级图表用法。 如果还不过瘾,我们得掌握信息图和BI BI(商业智能)和图表的区别在于BI擅长交互和报表,更擅长解释已经发生和正在发生的数据。将要发生的数据是数据挖掘的方向。 BI的好处在于很大程度解放数据分析师的工作,推动全部门的数据意识,另外降低其他部门的数据需求(万恶的导数据)。 BI市面上的产品很多,基本都是建立仪表盘Dashboard,通过维度的联动和钻取,获得可视化的分析。第六篇:数据可视化:深入浅出BI 将以第一周的实战数据学习BI,上图的就是学习后的成果。 数据可视化的学习就是三个过程,了解数据(图表),整合数据(BI),展示数据(信息化)。 可视化也和审美息息相关,很多直男代表并不擅长做图,没关系,抽空可以看书:数据之美 (豆瓣) PPT也别落下,Excel作图多练习,不会有坏处的

优秀的个人博客,低调大师

新型 Android 木马 Xavier 爆发:可悄然窃取个人信息

日前,安全公司趋势科技发现了非常狡诈的新型木马程序。安全专家将这款恶意程序称之为 “ANDROIDOS_XAVIER.AXM” 或者简称 Xavier ,这个广告库能够在用户不知情的情况下将用户数据发送到远程服务器上,而非常狡诈的是,该恶意程序会使用多种方式来覆盖它的痕迹并掩盖它们的活动。 首先,这款恶意程序会嵌入到常规的应用中,例如铃声录制和图片编辑应用,受感染的用户绝大多数来自亚洲东南部国家,如越南、菲律宾和印度尼西亚,美国和欧洲的感染人数较少。趋势科技发现携带有该恶意程序的应用数量已经超过800款,而且部分应用在 Google Play 上的下载量已经超过数百万次。 而该恶意程序另一个狡诈的地方在于它们会嵌入到应用的代码中。在应用使用过程中并不会出现明显的恶意代码,因此在提交至 Play Store 审核的时候并不会触发任何 flag 。然而,一旦从隐蔽的下载和安装恶意代码,那么就会自动执行。而这些操作都是在用户不知情的情况下在后台进行操作的。 分析人员表示:“如果设备已经被 root ,那么该恶意程序就会静默安装其他类型的 APK 文件。”对比此前恶意广告木马,Xavier 的功能及特征更为复杂。首先他具备远程下载恶意代码并执行的能力。其次,它通过使用诸如字符串加密,Internet 数据加密和模拟器检测等方法来保护自己不被检测到。 Xavier 窃取用户数据的行为很难被发现,它有一套自我保护机制,来躲避静态和动态的检测分析。此外,Xavier 还具有下载和执行其他恶意代码的能力,使它的威胁性大大增加。 本文来自开源中国社区 [http://www.oschina.net]

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册