MySQL(1)
MySQL(1)
1.客户端访问服务器的过程?
2.MySQL的分类?
DDL(操作数据库和表)
DQL(查询表中的数据)
DCL(授权)
##DDL:操作数据库和表
1.操作数据库:crud
(1)c(创建)
###创建表itms(商品表)

1 CREATE TABLE items ( 2 id INT NOT NULL AUTO_INCREMENT, 3 itemsname VARCHAR(32) NOT NULL COMMENT '商品名称', 4 price FLOAT(10,1) NOT NULL COMMENT '商品定价', 5 detail TEXT COMMENT '商品描述', 6 pic VARCHAR(64) DEFAULT NULL COMMENT '商品图片', 7 createtime DATETIME NOT NULL COMMENT '生产日期', 8 PRIMARY KEY (id) 9 ) DEFAULT CHARSET=utf8;

1 CREATE TABLE t_user ( 2 id INT NOT NULL AUTO_INCREMENT, 3 username VARCHAR(32) NOT NULL COMMENT '用户名称', 4 birthday DATE DEFAULT NULL COMMENT '生日', 5 sex CHAR(1) DEFAULT NULL COMMENT '性别', 6 address VARCHAR(256) DEFAULT NULL COMMENT '地址', 7 PRIMARY KEY (`id`) 8 ) DEFAULT CHARSET=utf8;
###创建表order_itms(订单详情表)

1 CREATE TABLE orderdetail ( 2 id INT NOT NULL AUTO_INCREMENT, 3 orders_id INT NOT NULL COMMENT '订单id', 4 items_id INT NOT NULL COMMENT '商品id', 5 items_num INT DEFAULT NULL COMMENT '商品购买数量', 6 PRIMARY KEY (id), 7 KEY `FK_orderdetail_1` (`orders_id`), 8 KEY `FK_orderdetail_2` (`items_id`), 9 CONSTRAINT `FK_orderdetail_1` FOREIGN KEY (`orders_id`) REFERENCES `orders` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, 10 CONSTRAINT `FK_orderdetail_2` FOREIGN KEY (`items_id`) REFERENCES `items` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION 11 ) DEFAULT CHARSET=utf8;
###创建表orders(订单详情表)

1 CREATE TABLE orders ( 2 id INT NOT NULL AUTO_INCREMENT, 3 user_id INT NOT NULL COMMENT '下单用户id', 4 number VARCHAR(30) NOT NULL COMMENT '订单号', 5 createtime DATETIME NOT NULL COMMENT '创建订单时间', 6 note VARCHAR(100) DEFAULT NULL COMMENT '备注', 7 PRIMARY KEY (`id`), 8 KEY `FK_orders_1` (`user_id`), 9 CONSTRAINT `FK_orders_id` FOREIGN KEY (`user_id`) REFERENCES `t_user` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION 10 ) DEFAULT CHARSET=utf8;
###插入数据

1 /*Data for the table `items` */ 2 3 INSERT INTO items(itemsname,price,detail,pic,createtime) VALUES 4 ('台式机',3000.0,'该电脑质量非常好!',NULL,'2015-07-07 13:28:53'), 5 ('笔记本',6000.0,'笔记本性能好,质量好!',NULL,'2015-07-08 13:22:57'), 6 ('背包',200.0,'名牌背包,容量大质量好!',NULL,'2015-07-010 13:25:02'); 7 8 /*Data for the table `orderdetail` */ 9 10 INSERT INTO `orderdetail`(`orders_id`,`items_id`,`items_num`) VALUES 11 (1,1,1), 12 (1,2,3), 13 (2,3,4), 14 (3,2,3); 15 16 /*Data for the table `orders` */ 17 18 INSERT INTO `orders`(`user_id`,`number`,`createtime`,`note`) VALUES 19 (1,'1000010','2015-06-04 13:22:35',NULL), 20 (1,'1000011','2015-07-08 13:22:41',NULL), 21 (2,'1000012','2015-07-17 14:13:23',NULL), 22 (3,'1000012','2015-07-16 18:13:23',NULL), 23 (4,'1000012','2015-07-15 19:13:23',NULL), 24 (5,'1000012','2015-07-14 17:13:23',NULL), 25 (6,'1000012','2015-07-13 16:13:23',NULL); 26 27 /*Data for the table `user` */ 28 29 INSERT INTO `t_user`(`username`,`birthday`,`sex`,`address`) VALUES 30 ('王五',NULL,'2',NULL), 31 ('张三','2014-07-10','1','北京市'), 32 ('张小明',NULL,'1','河南郑州'), 33 ('陈小明',NULL,'1','河南郑州'), 34 ('张三丰',NULL,'1','河南郑州'), 35 ('陈小明',NULL,'1','河南郑州'), 36 ('王五',NULL,NULL,NULL), 37 ('小A','2015-06-27','2','北京'), 38 ('小B','2015-06-27','2','北京'), 39 ('小C','2015-06-27','1','北京'), 40 ('小D','2015-06-27','2','北京');
(2)r(查询)

1 SELECT 2 * 3 FROM 4 orders, 5 items 6 WHERE 7 orders.user_id = items.id;
##一对多查询(查询订单(关联用户)及订单明细)

1 SELECT 2 * 3 FROM 4 orders, 5 orderdetail, 6 t_user 7 WHERE 8 orders.id = orderdetail.orders_id 9 AND t_user.id = orders.user_id;
##多对多查询(查询用户以及用户购买的商品信息)

1 SELECT 2 t1.*, t2.username, 3 t2.sex, 4 t2.address, 5 t3.id orderdetail_id, 6 t3.items_id, 7 t3.items_num, 8 t3.orders_id, 9 t4.itemsname items_name, 10 t4.detail items_detail, 11 t4.price items_price 12 FROM 13 orders t1, 14 t_user t2, 15 orderdetail t3, 16 items t4 17 WHERE 18 t1.user_id = t2.id 19 AND t3.orders_id = t1.id 20 AND t3.items_id = t4.id