diff --git "a/40 \346\227\266\345\255\246\345\256\211/20231019.md" "b/40 \346\227\266\345\255\246\345\256\211/20231019.md" new file mode 100644 index 0000000000000000000000000000000000000000..5c17d37f4533c30309adbd2826013f5530437c56 --- /dev/null +++ "b/40 \346\227\266\345\255\246\345\256\211/20231019.md" @@ -0,0 +1,92 @@ + + +~~~~mysql +CREATE database lianx charset utf8; +use lianx; +create table tb_user( + id int primary key auto_increment comment '主键', + name varchar(50) not null comment '用户名', + phone varchar(11) not null comment '手机号', + email varchar(100) comment '邮箱', + profession varchar(11) comment '专业', + age tinyint unsigned comment '年龄', + gender char(1) comment '性别 , 1: 男, 2: 女', + status char(1) comment '状态', + createtime datetime comment '创建时间' +) comment '系统用户表'; + + +INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('吕布', '17799990000', 'lvbu666@163.com', '软件工程', 23, '1', '6', '2001-02-02 00:00:00'); +INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('曹操', '17799990001', 'caocao666@qq.com', '通讯工程', 33, '1', '0', '2001-03-05 00:00:00'); +INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('赵云', '17799990002', '17799990@139.com', '英语', 34, '1', '2', '2002-03-02 00:00:00'); +INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('孙悟空', '17799990003', '17799990@sina.com', '工程造价', 54, '1', '0', '2001-07-02 00:00:00'); +INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('花木兰', '17799990004', '19980729@sina.com', '软件工程', 23, '2', '1', '2001-04-22 00:00:00'); +INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('大乔', '17799990005', 'daqiao666@sina.com', '舞蹈', 22, '2', '0', '2001-02-07 00:00:00'); +INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('露娜', '17799990006', 'luna_love@sina.com', '应用数学', 24, '2', '0', '2001-02-08 00:00:00'); +INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('程咬金', '17799990007', 'chengyaojin@163.com', '化工', 38, '1', '5', '2001-05-23 00:00:00'); +INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('项羽', '17799990008', 'xiaoyu666@qq.com', '金属材料', 43, '1', '0', '2001-09-18 00:00:00'); +INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('白起', '17799990009', 'baiqi666@sina.com', '机械工程及其自动化', 27, '1', '2', '2001-08-16 00:00:00'); +INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('韩信', '17799990010', 'hanxin520@163.com', '无机非金属材料工程', 27, '1', '0', '2001-06-12 00:00:00'); +INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('荆轲', '17799990011', 'jingke123@163.com', '会计', 29, '1', '0', '2001-05-11 00:00:00'); +INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('兰陵王', '17799990012', 'lanlinwang666@126.com', '工程造价', 44, '1', '1', '2001-04-09 00:00:00'); +INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('狂铁', '17799990013', 'kuangtie@sina.com', '应用数学', 43, '1', '2', '2001-04-10 00:00:00'); +INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('貂蝉', '17799990014', '84958948374@qq.com', '软件工程', 40, '2', '3', '2001-02-12 00:00:00'); +INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('妲己', '17799990015', '2783238293@qq.com', '软件工程', 31, '2', '0', '2001-01-30 00:00:00'); +INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('芈月', '17799990016', 'xiaomin2001@sina.com', '工业经济', 35, '2', '0', '2000-05-03 00:00:00'); +INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('嬴政', '17799990017', '8839434342@qq.com', '化工', 38, '1', '1', '2001-08-08 00:00:00'); +INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('狄仁杰', '17799990018', 'jujiamlm8166@163.com', '国际贸易', 30, '1', '0', '2007-03-12 00:00:00'); +INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('安琪拉', '17799990019', 'jdodm1h@126.com', '城市规划', 51, '2', '0', '2001-08-15 00:00:00'); +INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('典韦', '17799990020', 'ycaunanjian@163.com', '城市规划', 52, '1', '2', '2000-04-12 00:00:00'); +INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('廉颇', '17799990021', 'lianpo321@126.com', '土木工程', 19, '1', '3', '2002-07-18 00:00:00'); +INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('后羿', '17799990022', 'altycj2000@139.com', '城市园林', 20, '1', '0', '2002-03-10 00:00:00'); +INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('姜子牙', '17799990023', '37483844@qq.com', '工程造价', 29, '1', '4', '2003-05-26 00:00:00'); + +-- 1. name字段为姓名字段,该字段的值可能会重复,为该字段创建索引。 +CREATE INDEX idx_name ON tb_user(name); + + +-- 2. phone手机号字段的值,是非空,且唯一的,为该字段创建唯一索引。 +CREATE UNIQUE INDEX idx_phone ON tb_user(phone); + +-- 3. 为profession、age、status创建联合索引。 +CREATE index idx_pro_age_sta on tb_user(profession,age,status); + +-- 4. 为email建立合适的索引来提升查询效率。 +CREATE INDEX idx_email ON tb_user(email); + +-- 5. 查看tb_user表的所有的索引数据 +show index from tb_user; + + + + +-- 建立一个数据和表(id,name,phone,sex,hobby),想办法插入10万条数据, +DROP TABLE idx; +CREATE TABLE idx( +id int PRIMARY key auto_increment, +name VARCHAR(20), +phone varchar(20) , +sex char(1), +hobby varchar(100) +); + +DELIMITER // + + +CREATE PROCEDURE idx_a (in sum int) +BEGIN + DECLARE i INT DEFAULT 1; + WHILE i <=sum DO + INSERT INTO idx (id, `name`, phone, sex, hobby) + VALUES (null,concat('翘嘴周富',i),concat('10000000000',i),'男','深夜在422给女主播刷礼物,喜欢听女主播说谢谢宝宝,嘴都笑歪来') ; + SET i = i + 1; + END WHILE; +END // + +DELIMITER ; + +CALL idx_a(1000000); +~~~ + +~~~~ +