一些方便测试用的创建表sql代码,要用直接复制创建即可

先来一个简单的student表:

CREATE TABLE `student` (
  `id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号',
  `name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
  `pwd` VARCHAR(20) NOT NULL DEFAULT '123456' COMMENT '密码',
  `sex` VARCHAR(2) NOT NULL DEFAULT '' COMMENT '性别',
  `birthday` DATETIME DEFAULT NULL COMMENT '出生日期',
  `address` VARCHAR(100) DEFAULT NULL COMMENT '家庭住址',
  `email` VARCHAR(50) DEFAULT NULL COMMENT '邮箱',
  PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4

再来一个:

CREATE TABLE `person` (
   `id` INT(4) NOT NULL,
   `name` VARCHAR(30) NOT NULL,
   `age` TINYINT(4) NOT NULL,
   PRIMARY KEY(`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8mb4

 

INSERT INTO person (`id`,`name`,`age`) VALUES
('101', 'Jason', '21'),
('102', 'Nick', '21'),
('103', 'William', '25'),
('104', 'Charles', '23');

 再来一个,没有主键,未设置not null:

CREATE TABLE stu(
stuId VARCHAR(30),
stuName VARCHAR(30),
stuSex VARCHAR(2),
stuAge INT(2) ,
stuJG VARCHAR(30) COMMENT '籍贯',
stuDept VARCHAR(30) COMMENT '门派',
PRIMARY KEY(stuId)
)ENGINE=INNODB DEFAULT CHARSET=utf8mb4;

 再来一个循环插入测试数据的sql函数:

DELIMITER $$
DROP FUNCTION IF EXISTS stu_data $$
CREATE FUNCTION stu_data()
RETURNS INT
BEGIN
   DECLARE num INT DEFAULT 200;
   DECLARE i INT DEFAULT 0;
   WHILE i<num DO
    INSERT INTO stu(`stuId`,`stuName`,`stuSex`,`stuAge`,`stuJG`,`stuDept`) 
    VALUES(2100000+i,generateUserName(),FLOOR(RAND()*2),FLOOR(RAND()*50), '广东',CONCAT('13',700000000+FLOOR(RAND()*(99999999))) );
    SET i=i+1;
   END WHILE;
   RETURN i;
END

 

再来一个备用:

 

posted @ 2021-08-31 19:05  meteor119  阅读(182)  评论(0编辑  收藏  举报