数据库运算符
算术运算符:+ - * / %等
比较运算符: = , !=, > ,< ,is null,is not null。。。
逻辑运算符: ! and or
数据库索引
索引的目的是为了提高查询速度
一般针对where条件后的字段啊添加索引
--添加普通索引‘
alter table ____ add index __name_(列名);
--添加唯一索引
alter table ____ add unique __name_(列名);
--删除索引
drop index ____ on _____
表复制:
应用场景:对原表进行测试,但又不想造成数据污染
--复制表
create table __rename__ like __原表__;
--复制数据
insert into ___rename__ select * from __原表__;
常用函数
字符串函数:
concat():将两个或多个字符串组成一个字符串
length():获取字符串长度
replace():搜索并替换字符串的子字符串
substring():从具有特定长度的位置提取一个子字符串
使用 select _某函数_可直接执行
时间函数:
cudate():返回当前日期
now():返回当前日期和时间
year():返回日期的年数
month():返回日期的月份
day():返回日期的天数
数据处理函数:
rand():返回0~1之间随机小数
floor():小数取整
--实际使用常结合使用
edj:
floor(rand()*10);:0~10随机整数
floor(10+rand()*100);:10~100随机整数
存储过程:
是在大型数据库中,一组为了完成特定功能的SQL语句集,他存储在数据库中,一次编译永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带参)来执行它,存储过程是数据库的一个重要对象
存储过程=逻辑+SQL
edj:10000个测试账号
begin
declare i int(6) default 0; --循环约束
declare u_name varchar(10);--user_name
declare u_age int(4);
declare u_gender int(2);-- 0男1女
declare u_phone varchar(11);
declare u_email varchar(20);
while i<10000 do
if i%2=0 then
set u_gender =0;
else
set u_gender=1;
end if;
set u_phone= concat('135111',i+10000);
set u_name = concat('test_',i);
set u_age=floor(rand()*100);--年龄随机
set u_emai= concat(u_name,'@qq.com');
insert into user(user_name,password,age,gender,phone_num,email create_time)values
(u_name,'111',u_age,u_gender,u_phone,u_email,now());
set i=i+1;
end while;
end;