• 最新文章
  • linux
  • php
  • sql
  • 服务端
  • tool
  • cocos

常用的SQL语句大全总结

一、基础篇 1、创建数据库 语法: create database database-namek 2、说明:删除数据库 drop database dbname 3、备份sql server —创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' — 开始 备份 backup database pubs to testBack 4、创建新表 create table tabname(col1 type1 ,col2 type2 ,..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only 5、删除新表 drop table tabname 6、增加一个列 Alter table tabname add column col type == 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。== 7、添加、删除主键 添加主键: Alter table tabname add primary key(col) 删除主键: Alter table tabname drop primary key(col) 8、创建索引 语法: create index idxname on tabname(col….) 删除索引: drop index idxname == 注:索引是不可更改的,想更改必须删除重新建。== 9、创建视图 语法: create view viewname as select statement 删除视图: drop view viewname 10、几个简单的基本的sql语句 选择:select from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select from table1 where field1 like ’%value1%’ —like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 总数:select count as totalcount from table1 求和:select sum(field1) as sumvalue from table1 平均:select avg(field1) as avgvalue from table1 最大:select max(field1) as maxvalue from table1 最小:select min(field1) as minvalue from table1 11、说明:几个高级查询运算词 A: UNION 运算符 UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。 当 ALL 随 UNION一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。 B:

使用GitHub托管静态网页,配置自己的域名,https

前言​: 如果没有服务器,也没有域名,又想部署静态网页的同学,那就可以尝试使用GitHub托管自己的网页​。 正文: 首先要有自己的GitHub的账号,如果没有可以自己搜索官网进行注册登录,国内对GitHub注册没有限制,只需要邮箱验证即可,只不过访问速度慢点而已​。 直接到GitHub官网右上角新建储存库​ 这里进行填写存储库的信息,可以翻译填写,主要就是存储的名称,然后设置这个储存库是否只要你私人访问,最后的REDAME文件是拿来对这个储存库的说明,它会直接展示在你的存储库页面。 然后点击添加文件 新建文件或者上传文件 然后进行上传文件,可以直接拉取进去,然后点击下面的就可以进行上传了,一般默认都是加载文件名为index的html,所以可以提前改好你的主页面名称成index 然后点击点击设置,更换选项,然后点击configuer配置 然后右上角提交更改 然后回到设置页面中的pages页面就能看到你的部署链接,点击它就可以进入你的网页了。 并且可以Custom domain处设置自己的域名 将自己的二级域名解析cname到,自己上图中github的站点中, 设置好后,验证通过,就可以访问自己的域名到github上的静态网站 选中Enforce HTTPS 这个选项后,既可以https访问自己的站点了 总结: ​这个方法只能放静态网页,简单部署,可玩性不高,国内虽然能访问,但是速度较慢,适合没有服务器和域名的同学,如有服务器的,那也不需要看这篇水文了。再见

如何在AWS中为自己的S3托管站点添加SSL/TSL证书(https)

概要 利用AWS的S3服务托管静态网站后,如何将自己的域名与该站点绑定,并为此域名提供SSL/TSL证书(https)。 面向人群 已经掌握如何利用S3服务托管静态网站。 已经拥有自己的域名。 希望为自己的域名添加安全证书,可以通过https访问自己的静态网站。 实施步骤 在AWS Certificate Manager(ACM)申请证书。 为自己的域名申请证书。比如www.example.com。 注意,必须在“美国东部(弗吉尼亚北部)”区域申请。否则在CloudFront中无法使用。 在AWS CloudFront Manager(CF)建立分发(Distributions)。 delivery method选择Web。 Origin Domain 选择托管成静态网站的S3存储桶。 然后选择使用网站端点 在名称,输入此源的名称节中做以下设定: * Alternate Domain Names(CNAMEs)里面填写要进行关联的域名,比如www.example.com。 * SSL Certificate选择Custom SSL Certificate,然后在下拉框中选择之前在ACM申请的证书。 在默认根对像处,输入静态网站默认首页如:index.html 其他设置项默认即可。 点击Create Distribution。需要一段时间才能完成配置,等待Status变成Deployed。 这时可以看到Domain Name列下面有一个xxxxx.cloudfront.net,这个地址下一步会用到。 去自己的域名托管商的管理页面,进行DNS设定。 添加一个CNAME,将自己的域名比如www.example.com的目标设置成第3步记下来的xxxxx.cloudfront.net。 需要一点时间让所有设置生效。 之后,可以通过http://www.example.com 访问网站。 如果使用https://www.example.com 则会看到浏览器的地址栏前面出现了一个小锁头啦。

查看ipa包的UDID,Bundle identifier

最近遇到一个小问题,公司的APP需要内测,但是我打的ipa包 因为没有包含测试人员的UDID,所以无法安装,这是正常现象,但是测试人员说,某某打的包是可以安装的,当时很懵逼,对于苹果而言,除了越狱,这种情况是不可能存在的.我想到了以下几种可能: 第一:用的不是同一套证书和配置文件 我登录账号,发现我和某某用的证书 配置文件 设备都是一样的,因为他用的是dev 我用的是adhoc,所以我用他的配置文件重新打了包,还是不行, 第二:蒲公英平台对ipa做了特殊处理 因为用的是蒲公英,我是第一次用,所以不是很了解,就咨询客服,客服也说不会存在这种情况,除非是企业证书(我们不是). 第三:他对ipa包做过处理 相对于苹果的规则,如果对ipa做处理,也只能是添加UDID,所以我就将两个ipa拆了,对比UDID 下面是拆包以及获取UDID的步骤:(结果发现UDID都一样) 1.首先把.ipa包解压缩,得到Payload 2.查看包里的内容,找到对应的证书文件,名字为:embedded.mobileprovision 3.找到embedded.mobileprovision所在的目录,mac下预览可以观察到 4.查看ProvisionedDevices对应的数组 就是UDID 验证完上面的几种可能性,基本可以确定,某某的包对于配置文件中没有的设备,也是无法安装的,我将他的包发给测试,确定同样不能安装,最后只能添加测试的设备号,重新出包 ,一个小问题,记录一下

Centos Certbot 使用

安装 可选配置:启动EPEL存储库 非必要项 yum install -y epel-release yum clean all yum makecache #启用可选通道 可以不配置 yum -y install yum-utils yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional 必要配置参数:安装certbot yum -y install certbot python2-certbot-nginx 配置nginx upstream proxy { server 127.0.0.1:9000; } server { listen 443; server_name test.test.com; location ~ ^/(base|admin|web|assets|auth|user) { proxy_redirect off; proxy_set_header X-Proxy-Client-IP $remote_addr; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://proxy; } location / { root /data/camc/public/dist;# project path try_files $uri /index.html;# if not match,go to the save page index index.html index.htm; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } } http直接重定向到https server { listen 80; server_name test.test.com; rewrite ^(.*)$ https://$host$1 permanent; } 或是一个正常的侦听80端口的也可以,重点是下一步生成证书, 3. 生成证书 3 .1自动配置nginx 运行如下命令会自动下载证书并配置nginx。 ```shell certbot --nginx 会列表nginx下的域名列表,从其中选择2中配置的域名,会自动生成ssl文件并配置好443端口 Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator nginx, Installer nginx Starting new HTTPS connection (1): acme-v02.api.letsencrypt.org Which names would you like to activate HTTPS for? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: h**.app 2: a**.app - - - - -

CentOS下 FTP 的安装和配置

文章目录 一. FTP下载安装 1.ftp下载 2.ftp启动 3.配置FTP 4.建立虚拟用户文件 5.新建系统用户vsftpd,用户目录为/data/ftp 6.防火墙设置 7.使用ftp工具连接测试 8. 虚拟用户原理 9. vsftp的相关配置文件设置 10.将密码文件进行db格式的转化 11. 设置虚拟用户的权限 二. 配置文件详解 一. FTP下载安装 1.ftp下载 yum install -y vsftpd 2.ftp启动 systemctl enable vsftpd.service #开机自启 systemctl start vsftpd.service #启动 systemctl stop vsftpd.service #停止 systemctl status vsftpd.service #状态 3.配置FTP 3.1 打开 vim /etc/vsftpd/vsftpd.conf 3.2 修改下内容 #显示行号 :set number #修改配置 12 行 anonymous_enable=NO #修改配置 33 行 anon_mkdir_write_enable=YES #修改配置48行 chown_uploads=YES #修改配置72行 async_abor_enable=YES #修改配置83行 ascii_upload_enable=YES #修改配置84行 ascii_download_enable=YES #修改配置87行 ftpd_banner=Welcome to blah FTP service. #修改配置101行 chroot_local_user=YES 3.3 添加下列内容到vsftpd.conf末尾 use_localtime=YES listen_port=21 idle_session_timeout=300 guest_enable=YES guest_username=vsftpd user_config_dir=/etc/vsftpd/vconf data_connection_timeout=1 virtual_use_local_privs=YES pasv_min_port=40000 pasv_max_port=40010 accept_timeout=5 connect_timeout=1 allow_writeable_chroot=YES <a name="t5"></a><a id="4_55"></a>4.建立虚拟用户文件 4.1创建编辑用户文件 vim /etc/vsftpd/ftpuser_list #第一行为用户名,第二行为密码。不能使用root作为用户名 southgis southgis@123 4.2生成虚拟用户 db_load -T -t hash -f /etc/vsftpd/ftpuser_list /etc/vsftpd/ftpuser_list.db #设定PAM验证文件,并指定对虚拟用户数据库文件进行读取 chmod 600 /etc/vsftpd/ftpuser_list.db 4.3修改 /etc/pam.d/vsftpd 文件 # 修改前先备份 cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak vi /etc/pam.d/vsftpd #先将配置文件中原有的 auth 及 account 的所有配置行均注释掉 #写入以下内容 auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/ftpuser_list account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/ftpuser_list # 如果系统为32位,上面改为lib <a name="t6"></a><a id="5vsftpddataftp_81"></a>5.新建系统用户vsftpd,用户目录为/data/ftp 5.1 新建系统用户vsftpd,用户目录为/data/ftp #用户登录终端设为/bin/false(即:使之不能登录系统) useradd vsftpd -d /home/southgisdata/imap-service-publish -s /bin/false chown -R vsftpd:vsftpd /home/southgisdata/imap-service-publish 5.2 建立虚拟用户个人配置文件 mkdir /etc/vsftpd/ftpuser_conf cd /etc/vsftpd/ftpuser_conf #编辑leo用户配置文件,内容如下,其他用户类似 vi southgis local_root=/home/southgisdata/imap-service-publish write_enable=YES anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES <a name="t7"></a><a id="6_101"></a>6.防火墙设置 6.1 iptables 的设置方式: vi /etc/sysconfig/iptables #编辑iptables文件,添加如下内容,开启21端口 -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT -A INPUT -m state --state NEW -m

php hyperf 读取redis,存储到数据库

背景说明 小白:伟哥,java中的set是无序的,Redis中可以带顺序吗? 伟哥:可以, 不过不叫set了,叫zset。 概述 SortedSet又叫zset,它是Redis提供的特殊数据类型,是一种特殊的set类型,继承了set不可重复的特点,并在set基础上为每个值添加一个分数,用来实现值的有序排列。 redis中排行榜中的数据 public function execute(string $date) { $query = ChannelConfig::query(); $query->where('module_name', 'rank_reward'); $rewardData = $query->first(); $rewards = ; if( $rewardData ){ $rewardContents = $rewardData->content; foreach ($rewardContents as $key => $value) { if( !key_exists($value, $rewards) ){ $rewards] = ; } $rewards]] = $value; } } echo json_encode($rewards); $redisFactory = ApplicationContext::getContainer()->get(RedisFactory::class); $redis = $redisFactory->get('rank'); $day = substr($date,5,2).substr($date,8,2); $keys = $redis->keys("RANK:*:$day:0-0"); foreach ($keys as $key => $value) { // echo "key = $value \n"; $kuCuns = $redis->ZREVRANGE($value, 0, 29, true); // echo "data = ".json_encode($kuCuns)."\n"; $gameType = explode(":",$value); $count = count($kuCuns); $index = 1; foreach ($kuCuns as $keyItem => $valueItem) { $mode = new RankLog(); $mode->date = $date; $mode->index = $index; $mode->gameType = $gameType; $mode->userId = $keyItem; $mode->score = $valueItem; $mode->reward = key_exists($gameType, $rewards) ? $rewards : ""; $mode->save(); $index++; } } } 转自:https://zhuanlan.zhihu.com/p/629389490

linux查看文件的后几行(文件查看 如何显示最后几行 ,某几行)

tail -n 20 filename说明:显示filename最后20行。 Linux下tail命令的使用方法 linux tail命令用途是依照要求将指定的文件的最后部分输出到标准设备,通常是终端,通俗讲来,就是把某个档案文件的最后几行显示到终端上,假设该档案有更新,tail会自己主动刷新,确保你看到最新的档案内容。 一、tail命令语法 tail 参数解释:-f 该参数用于监视File文件增长。-c Number 从 Number 字节位置读取指定文件-n Number 从 Number 行位置读取指定文件。-m Number 从 Number 多字节字符位置读取指定文件,比方你的文件假设包括中文字,假设指定-c参数,可能导致截断,但使用-m则会避免该问题。-b Number 从 Number 表示的512字节块位置读取指定文件。-k Number 从 Number 表示的1KB块位置读取指定文件。File 指定操作的目标文件名称上述命令中,都涉及到number,假设不指定,默认显示10行。Number前面可使用正负号,表示该偏移从顶部还是从尾部开始计算。tail可运行文件一般在/usr/bin/以下。 二、tail命令使用方法演示例子 1、tail -f filename说明:监视filename文件的尾部内容(默认10行,相当于增加参数 -n 10),刷新显示在屏幕上。退出,按下CTRL+C。2、tail -n 20 filename说明:显示filename最后20行。3、tail -n +20 filename说明:显示filename前面20行。4、tail -r -n 10 filename说明:逆序显示filename最后10行。补充: 跟tail功能相似的命令还有:cat 从第一行开始显示档案内容。tac 从最后一行开始显示档案内容。more 分页显示档案内容。less 与 more 相似,但支持向前翻页head 仅仅显示前面几行tail 仅仅显示后面几行n 带行号显示档案内容od 以二进制方式显示档案内容 1、查看文本文件头部n行 head -n 200 filename   #--200可替换为任一数字 2、查看文本文件末尾n行 tail -n 200 filename   #--200可替换为任一数字 3、查看文本文件行数 wc -l filename Linux – Centos 文件查看 如何显示最后几行 ,某几行 1.显示最后20行 tail -n 20 文件名 如tail -n 20 log.txt 2.显示中间20,从1000开始 cat log.txt|tail -n +1000|head -n 20 注:tail -n +行号 意思为 从第多少行开始 ,如果是 tail -n -行 == tail -n 行 意思为文件末尾多少行的数据head -n 20 前20行的数据 3.也可以用sed命令 如 sed -n ‘100,120p’ log.txt 100 到120行的数据。 感兴趣的话,可以再看看这几篇文章: Linux如何通过命令查看日志文件的某几行(中间几行或最后几行)