当然是为我的第一位粉丝->怡宝 准备的一篇MySQL咯

要看进阶篇的小伙伴点着哦!!!!
MySQL进阶篇 - 索引篇
命令行输入 :
mysql -u root -p
passward:root

(Create,Retrieve(查询),update,Delete)操作数据库和表
create table tablename(
字段1 数据类型 约束1 约束2
字段2 数据类型 约束
…
);
如 :
create table employee(
id int primary key auto_increment, #id主键且自增
name varchar(10) not null,
sex varchar(5) not null,
department varchar(30) not null
)auto_increment=2; set @@ auto_increment_increment=3
DML(增删改查表中的数据)对数据进行增删改查
select 字段1,字段2....(字段列表)
from 表一,表二....(表名列表)
where 条件1,条件2...(条件列表)
group by 分组字段
having 分组之后的条件
order by 按什么字段排序
limit 6 分页限定
查询所有信息:select * from 表名;
(distinct)去除相同的数据:如 :select distinct 列名 from student;
(between and)之间(包含之间):如 :select * from stu where age between 20 and 30;
(in/not in)集合之中:select * from stu where age in(18,19,20);
在查询中使用列的别名: select 列名 *AS 新列名 form 表名 where 查询条件;*
(null)查询: select * from stu where id is null /is not null;
(like)模糊查询 select * from 表名 where 字段名 like 对应值(子串), (*like,单个任意字符 %多个任意字符)
查询学好1开头的学生:select * from stu id like “1%”;
(order by)排序(可叠加):select * from stu order by math asc/desc,english asc;(desc降序)
聚合函数:
(group by)分组查询(查询的字段只能是聚合函数或分组的字段)
基本语法:select 字段名列表 form 表名 where 约束条件 group by分组的字段名
如:select sex avg(math) from stu group by sex; 查询男女的平均分
limit 分页查询:select * from stu limit 3;(3条数据)
where和Having区别:
1.select sex,avg(math) from stu where math>70 group by sex;(分数>70分(分组之前))
2.select sex,avg(math),count(id) from stu where math>70 group by sex having count(id);(分数>70分 人数>2(分组之后))
外连接查询中参与连接的表有主从之分,已主表的每行数据匹配从表的数据列,将符合连接条件的数据直接返回到结果集中,对不符合连接条件的列,将被填上null值再返回到结果集中。
左外连接(查询的是左表的所有记录或交集),右边没有的会填充null;
如 : select t1.*,t2.name from emp as t1 left join dept as t2 on t1.id=t2.id;
右外连接(右外连接包含右表中所有的匹配行,右表中有的项在左表中没有对应的项将以null值填充)。
如: select t1.*,t2.name from emp as t1 right join dept as t2 on t1.id=t2.id;
创建用户:create user ‘用户名’@‘主机名(%未任意主机)’ identified by ‘密码’;
删除用户:drop user ‘用户名’@‘主机名’;
修改用户密码:update user set password = password(‘新密码’) where user = ‘用户名’;
set password for ‘用户名’@‘主机名’ where user=‘用户名’;
查用户的权限:show Grants for ‘用户名’@‘主机名’;
授予权限:grant 权限列表 to ‘用户名’@‘主机名’;
权限列表:delete,update,select on stu
授予所有权限在任意数据库和表,grant all on . to ‘用户名’@‘主机名’;
撤销权限:revoke 权限列表 on 数据库名.表名 from ‘用户名’@‘主机名’;

对表中的数据进行限定,保证数据的正确性,有效性,完整性
primary key (特殊)删除唯一约束:alter table 表名 drop primary key;
not null(非空约束):alter table 表名 modify 列名 类型 not null;
unique (特殊)删除唯一约束:alter table 表名 drop index 列名;
auto_increment(自动增长) 例id自动增长 id int primary key auto_increment
删除自动增长 alter table stu modify id int;
(foreign key)创建表的时候添加外键:constraint 外键名称 foreign key(外键列名称) references 主表名称(主表列名称)
如:
create table grade(
id int(5) primary key,auto_increment
name varchar(5)
);
insert into stu(name) valuse('大一','大二');
create table stu(
id int(5) primary key,
name varchar(5) not null,
gradeid int(5),
#添加 grade表的外键
constraint fk_id forrign key (grandid) references grade(id)
)
级联(更新/删除):(添加外键的时候同时级联操作)alter table 表名 add constraint 外键名称 foreign key(外键列名称) references 主表名称(主表列名称)on update cascade on delete cascade;

如果一个包含多个步骤的业务操作,被事务管理,那么这些操作要么同时成功,要么同时失败
例:
start transaction
....(业务逻辑)
commit
若成功,则提交到数据库(commit)
失败,就回滚回去(rollback)
隔离:多个事务之间是隔离的,相互独立的,但如果多个事务操作同一批数据,则会引发一些问题,设置不同的隔离级别就可以解决问题
查询数据库数据隔离级别:select @@transaction_isolation;
设置数据库隔离级别:set global transaction isolation level 隔离级别;(需重新启动mysql)
它总认为不会出现问题,无论干什么都不去上锁,如果出现问题,再次更新值测试
乐观锁实现方式(底层为CAS)步骤如下:
它总认为会出现问题,无论干什么都会上锁,再去操作
索引是帮助MySQL高效获取数据的数据结构。更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度。 一般来说索引本身也很大,不可能全部存储在内存中,因此索引往往是存储在磁盘上的文件中的(可能存储在单独的索引文件中,也可能和数据一起存储在数据文件中) 数据量大时减少查询时间效果明显
索引名命名格式为 :表名 _字段名
创建索引(普通索引,可重复):create index 索引名 on 表名(‘字段名’); 如create index stu_name on student(name);
删除索引 :drop index stu_name;
查看表的索引 : show index from table_name(表名)
唯一性索引:unique
create unique index 索引名 on 表名(列名);
create unique index ind_name on school(phone);
位图(分类)索引:bitmap
数据量比较大,基数比较小 比如:男/女
create bitmap index 索引名 on 表名(列名);
create bitmap index ind_sid on student(sid);
创作不易,看完小伙伴来波3连呗
我想用ruby编写一个小的命令行实用程序并将其作为gem分发。我知道安装后,Guard、Sass和Thor等某些gem可以从命令行自行运行。为了让gem像二进制文件一样可用,我需要在我的gemspec中指定什么。 最佳答案 Gem::Specification.newdo|s|...s.executable='name_of_executable'...endhttp://docs.rubygems.org/read/chapter/20 关于ruby-在Ruby中编写命令行实用程序
文章目录一、概述简介原理模块二、配置Mysql使用版本环境要求1.操作系统2.mysql要求三、配置canal-server离线下载在线下载上传解压修改配置单机配置集群配置分库分表配置1.修改全局配置2.实例配置垂直分库水平分库3.修改group-instance.xml4.启动监听四、配置canal-adapter1修改启动配置2配置映射文件3启动ES数据同步查询所有订阅同步数据同步开关启动4.验证五、配置canal-admin一、概述简介canal是Alibaba旗下的一款开源项目,Java开发。基于数据库增量日志解析,提供增量数据订阅&消费。Git地址:https://github.co
嗨~大家好,这里是可莉!今天给大家带来的是7个C语言的经典基础代码~那一起往下看下去把【程序一】打印100到200之间的素数#includeintmain(){ inti; for(i=100;i 【程序二】输出乘法口诀表#includeintmain(){inti;for(i=1;i 【程序三】判断1000年---2000年之间的闰年#includeintmain(){intyear;for(year=1000;year 【程序四】给定两个整形变量的值,将两个值的内容进行交换。这里提供两种方法来进行交换,第一种为创建临时变量来进行交换,第二种是不创建临时变量而直接进行交换。1.创建临时变量来
1.postman介绍Postman一款非常流行的API调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如Jmeter、soapUI等。不过,对于开发过程中去调试接口,Postman确实足够的简单方便,而且功能强大。2.下载安装官网地址:https://www.postman.com/下载完成后双击安装吧,安装过程极其简单,无需任何操作3.使用教程这里以百度为例,工具使用简单,填写URL地址即可发送请求,在下方查看响应结果和响应状态码常用方法都有支持请求方法:getpostputdeleteGet、Post、Put与Delete的作用get:请求方法一般是用于数据查询,
我从Ubuntu服务器上的RVM转移到rbenv。当我使用RVM时,使用bundle没有问题。转移到rbenv后,我在Jenkins的执行shell中收到“找不到命令”错误。我内爆并删除了RVM,并从~/.bashrc'中删除了所有与RVM相关的行。使用后我仍然收到此错误:rvmimploderm~/.rvm-rfrm~/.rvmrcgeminstallbundlerecho'exportPATH="$HOME/.rbenv/bin:$PATH"'>>~/.bashrcecho'eval"$(rbenvinit-)"'>>~/.bashrc.~/.bashrcrbenvversions
Ⅰ软件测试基础一、软件测试基础理论1、软件测试的必要性所有的产品或者服务上线都需要测试2、测试的发展过程3、什么是软件测试找bug,发现缺陷4、测试的定义使用人工或自动的手段来运行或者测试某个系统的过程。目的在于检测它是否满足规定的需求。弄清预期结果和实际结果的差别。5、测试的目的以最小的人力、物力和时间找出软件中潜在的错误和缺陷6、测试的原则28原则:20%的主要功能要重点测(eg:支付宝的支付功能,其他功能都是次要的)80%的错误存在于20%的代码中7、测试标准8、测试的基本要求功能测试性能测试安全性测试兼容性测试易用性测试外观界面测试可靠性测试二、质量模型衡量一个优秀软件的维度①功能性功
ES一、简介1、ElasticStackES技术栈:ElasticSearch:存数据+搜索;QL;Kibana:Web可视化平台,分析。LogStash:日志收集,Log4j:产生日志;log.info(xxx)。。。。使用场景:metrics:指标监控…2、基本概念Index(索引)动词:保存(插入)名词:类似MySQL数据库,给数据Type(类型)已废弃,以前类似MySQL的表现在用索引对数据分类Document(文档)真正要保存的一个JSON数据{name:"tcx"}二、入门实战{"name":"DESKTOP-1TSVGKG","cluster_name":"elasticsear
我有一个问题。我想从另一个ruby脚本运行一个ruby脚本并捕获它的输出信息,同时让它也输出到屏幕。亚军#!/usr/bin/envrubyprint"Enteryourpassword:"password=gets.chompputs"Hereisyourpassword:#{password}"我运行的脚本文件:开始.rboutput=`runner`putsoutput.match(/Hereisyour(password:.*)/).captures[0].to_s正如您在此处看到的那样,存在问题。在start.rb的第一行,屏幕是空的。我在运行程序中看不到“输入您的密
有这样的事吗?我想在Ruby程序中使用它。 最佳答案 试试这个http://csl.sublevel3.org/jp2a/此外,Imagemagick可能还有一些东西 关于ruby-是否有将图像文件转换为ASCII艺术的命令行程序或库?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6510445/
如何在Ruby的if语句中检查bash命令的返回值(true/false)。我想要这样的东西,if("/usr/bin/fswscell>/dev/null2>&1")has_afs="true"elsehas_afs="false"end它会提示以下错误含义,它总是返回true。(irb):5:warning:stringliteralincondition正确的语法是什么?更新:/usr/bin/fswscell寻找afs安装和运行状态。它会抛出这样的字符串,Thisworkstationbelongstocell如果afs没有运行,命令以状态1退出 最