首页 > 数据库 >mysql外键约束 删除

mysql外键约束 删除

时间:2022-08-18 10:56:09浏览次数:57  
标签:rand set 删除 DEFAULT 外键 int str mysql NULL

mysql海量表的创建

CREATE TABLE dept( /*部门表*/
deptno MEDIUMINT   UNSIGNED  NOT NULL  DEFAULT 0,
dname VARCHAR(20)  NOT NULL  DEFAULT "",
loc VARCHAR(13) NOT NULL DEFAULT ""
) ;

#创建表EMP雇员
CREATE TABLE emp
(empno  MEDIUMINT UNSIGNED  NOT NULL  DEFAULT 0, /*编号*/
ename VARCHAR(20) NOT NULL DEFAULT "", /*名字*/
job VARCHAR(9) NOT NULL DEFAULT "",/*工作*/
mgr MEDIUMINT UNSIGNED NOT NULL DEFAULT 0,/*上级编号*/
hiredate DATE NOT NULL,/*入职时间*/
sal DECIMAL(7,2)  NOT NULL,/*薪水*/
comm DECIMAL(7,2) NOT NULL,/*红利*/
deptno MEDIUMINT UNSIGNED NOT NULL DEFAULT 0 /*部门编号*/
) ;

#工资级别表
CREATE TABLE salgrade
(
grade MEDIUMINT UNSIGNED NOT NULL DEFAULT 0,
losal DECIMAL(17,2)  NOT NULL,
hisal DECIMAL(17,2)  NOT NULL
);

#测试数据
INSERT INTO salgrade VALUES (1,700,1200);
INSERT INTO salgrade VALUES (2,1201,1400);
INSERT INTO salgrade VALUES (3,1401,2000);
INSERT INTO salgrade VALUES (4,2001,3000);
INSERT INTO salgrade VALUES (5,3001,9999);

delimiter $$

#创建一个函数,名字 rand_string,可以随机返回我指定的个数字符串
create function rand_string(n INT)
returns varchar(255) #该函数会返回一个字符串
begin
#定义了一个变量 chars_str, 类型  varchar(100)
#默认给 chars_str 初始值   'abcdefghijklmnopqrstuvwxyzABCDEFJHIJKLMNOPQRSTUVWXYZ'
 declare chars_str varchar(100) default
   'abcdefghijklmnopqrstuvwxyzABCDEFJHIJKLMNOPQRSTUVWXYZ'; 
 declare return_str varchar(255) default '';
 declare i int default 0; 
 while i < n do
    # concat 函数 : 连接函数mysql函数
   set return_str =concat(return_str,substring(chars_str,floor(1+rand()*52),1));
   set i = i + 1;
   end while;
  return return_str;
  end $$


 #这里我们又自定了一个函数,返回一个随机的部门号
create function rand_num( )
returns int(5)
begin
declare i int default 0;
set i = floor(10+rand()*500);
return i;
end $$

 #创建一个存储过程, 可以添加雇员
create procedure insert_emp(in start int(10),in max_num int(10))
begin
declare i int default 0;
#set autocommit =0 把autocommit设置成0
 #autocommit = 0 含义: 不要自动提交
 set autocommit = 0; #默认不提交sql语句
 repeat
 set i = i + 1;
 #通过前面写的函数随机产生字符串和部门编号,然后加入到emp表
 insert into emp values ((start+i) ,rand_string(6),'SALESMAN',0001,curdate(),2000,400,rand_num());
  until i = max_num
 end repeat;
 #commit整体提交所有sql语句,提高效率
   commit;
 end $$

 #添加5000000数据
call insert_emp(20,5000000)$$

#命令结束符,再重新设置为;
delimiter ;

  

标签:rand,set,删除,DEFAULT,外键,int,str,mysql,NULL
From: https://www.cnblogs.com/lyl890/p/16550747.html

相关文章

  • linux下mysql5.7初始密码查看及忘记密码重置
    linux在安装mysql,从5.7开始会自动生成一个随机密码,如果不注意没有记下这个随机密码,mysql安装成功后就会无法登录。一、查看初始密码grep'temporarypassword'......
  • 6.3 SQL Server删除数据
    SQLServerDELETE目录SQLServerDELETESQLServerDELETE语句简介SQLServerDELETE语句示例TRUNCATE示例TRUNCATE与DELETE的区别SQLServerDELETE语句简介要从表中......
  • 【2022.8.17】MySQL数据库(4)
    学习内容概要操作表的SQL语句补充表查询关键字selectfromwheregroupbyhavingdistinctorderbylimitregexpSQL语句中也支持写类似......
  • mysql时间相减获取秒数
    anstime_to_sec(timediff(endTime,startTime))timestampdiff(second,startTime,endTime)unix_timestamp(endTime)-unix_timestamp(startTime)tipsmysql的时间相......
  • Spring Boot 2.x基础教程:使用MyBatis访问MySQL
    虽然SpringDataJPA在国外广泛流行,但是在国内还是MyBatis的天下。所以,今天这篇我们将具体说说如何在SpringBoot中整合MyBatis完成关系型数据库的增删改查操作。整合MyBa......
  • mysql/表sql语句补充/关键字查询
    操作表的SQL语句补充alter1.修改表名 altertable表名rename新表名;2.新增字段 altertableadd字段名字段类型(数字)约束条件3.新增指定字段排在第一位 ......
  • MySQL查询关键数据方法
    MySQL查询关键数据方法操作表的SQL语句补充1.修改表名 altertable表名reame新表名;2.新增字段名 altertable表名add字段名字段类型(数字)约束条件;#默认队尾......
  • 20220817 第一组 于芮 mysql数据库查询(第三十四天)
     小白成长记——第三十四天   今天主要学习了mysql数据库的查询语句,对于一个合格的程序猿来说,掌握数据库的查询语句是非常重要的,所以今天不仅学习了理论知识,还作了......
  • MySQL之表查询关键字
    操作表的SQL语句补充修改表名创建一张表:createtableaa(idintprimarykeyauto_increment);altertable表名rename新表名;altertableaarenameabb;新增字......
  • 列表---删除
    1.del语法:del目标或del(目标)#1.删除列表name_list=['pgone','keyng','jonyj','vava']#结果:报错提示:name'name_list'isnotdefined(找不到该列表)d......