一些方便测试用的创建表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
再来一个备用: