声明一个变量使用set进行声明,变量名字前面加上@表明这是一个变量
eg:定义一个变量x存放以下字符串 '刘王张赵李钱朱何孙曾陈吴黄刘邓周毛江胡';
set @x= '刘王张找李钱朱何孙曾陈吴黄刘邓周毛江胡';
进行查询 :select @x;
eg:定义一个变量len1存放x字符串的长度;这里注意的就是获取字符串长度函数char_length(+字符串)
set @len1=char_length(@x);
eg:定义一个变量m1存放以下字符串 '依秋香巧花紫萱莉玉芳菊碧丽念雅红燕艳莲荷蕾紫莹颖琪';
set @m1='依秋香巧花紫萱莉玉芳菊碧丽念雅红燕艳莲荷蕾紫莹颖琪';
eg:定义一个变量len2存放m1字符串的长度;
set @len2=char_length(@m1);
eg:定义一个变量m2存放以下字符串 '澄德海超阳昌瀚亮锋涵煦杰俊诚毅峰衍浩广邈言博畅';
set @m2='澄德海超阳昌瀚亮锋涵煦杰俊诚毅峰衍浩广邈言博畅';
eg:定义一个变量len3存放m2字符串的长度;
set @len3=char_length(@m2);
eg:定义一个变量xb,用随机函数生成[0,1]之间的整数;这里要注意的就是随机函数怎么书写
先来看看随机函数:
set @xb=floor(rand()*2);
eg:定义一个变量xh等于字符串’191100’;
set @xh='191100';
eg:定义一个变量xing,从x字符串中随机挑选一个字符(表示一个人的姓);
这里也注意这个选择字符串中的一个字符,其实相当于选择字串,使用一个字符串内置函数substring:
至于随机我们先定义一个变量充当随机
上面定义过了x的字符长度为len1
set @a=floor(rand()*(@len1+1)+1);这个作为随机挑选字串中的一个字符位置,因为rand是从0开始起始的,len1下标也是从0开始所以要这样设置
set @xing=substring(@x,@a,1);
eg:定义一个变量ming1,从m1字符串中随机挑选一个字符(取一个女孩子的名);
这个和上面那个类似啊:
set @b=floor(rand()*(@len2+1)+1);
set @ming1=substring(@m1,@b,1);
中间犯了几个错误,一定要记得使用变量要加上@;
eg:定义一个变量xm1,将xing与ming1组合成一个字符串;
eg:
定义一个变量xing,从x字符串中随机挑选一个字符(表示一个人的姓);
定义一个变量ming2,从m2字符串中随机挑选一个字符(取一个男孩子的名);
定义一个变量xm2,将xing与ming2组合成一个字符串
上面已经定义过变量xing了,我们再定义一个m2就行
set @m2=substring(@m2,floor(rand()*(@len3+1)+1),1);
至于结合就要使用内置函数 concat()
set @xm2=concat(@xing,@m2);
上面写的时候搞错了,把m2变量内容给重置了;
eg:新建表xs1从xs表复制表结构学号、姓名、性别;
create table xs1 as select 学号,姓名,性别 from xs;注意这个写法会将表中选定的部分都复制过来
如果只要表结构就在后面加上 where 1=2;即可
eg:定义一个变量xm,如果xb=0,xm的值等于xm2,否则xm=xm1
这里就要涉及到if语句使用,下面先给两个示例:
set @xm=if(@xb=0,@xm2,@xm1);
eg:将xh、xm、xb变量的值插入xs1表中:
insert into xs1 values(@xh,@xm,@xb);
eg:,将以上的代码复制粘贴生成第二个记录,插入到xs1表中。显示xs1表的所有记录,就是再插入一个学生信息,上面使用的是李莉这次就使用那个xm2就好;