赞
踩
一、建表
1、最简单的建表
CREATE TABLE user(
id int,
name char(20),
age int
);
2、带主键带注释和默认值创建表
CREATE TABLE user(
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '设置主键自增',
name VARCHAR(200) default '1' COMMENT '给name加入默认值1',
age int COMMENT '我是列注释'
) COMMENT='我是表注释'
二、增删改查
1、插入数据
一次添加一行数据
INSERT INTO `user` (`id`, `name`, `age`) VALUES
('4', '1', '2');
一次添加多行
INSERT INTO `user` (`id`, `name`, `age`) VALUES
('4', '1', '2'),
('5', '1', '2),
('6', '1', '2');
给一个字段添加数据
INSERT INTO `user` (`age`) VALUES (6)
2、删除数据(最好少用,尽量软删除)
删除一条id为1的数据,where跟着的是范围洛
DELETE FROM user WHERE id =1
删除数据库、表(如果准备跑路的话可以练练手)
删除表:drop table table1; 如果有外键约束删除不了可以用drop table table1 cascade constraints;
删除数据库:drop database database1
当然删除之后还是会在回收站,可以马上恢复删除的表
3、更新
update table1 set id=1 where 范围
set后面是需要更新的值
4、查询
select * from user where 范围
三、连表查询
有两张表
user
writers
1、INNER JOIN
SELECT * from user INNER JOIN writers on user.id = writers.id
产生的是user和writers满足条件的集合
2、FULL JOIN
mysql并不支持全连接查询,所以不能直接用,当然可以这样用
SELECT * from user LEFT join writers on user.id = writers.id
UNION
SELECT * from user RIGHT JOIN writers on user.id = writers.id
用left join 加union和right join 可以实现全连接
这样匹配的结果是如果user查writers没有出结果会以null代替 writers表也一样
3、union用法
union用于去重,可以这样用,但要主要两个表的列要一样,而且列必须有相同的数据类型
SELECT id FROM `user`
UNION
SELECT id FROM writers
4、left join
查询出左表所有和数据和跟右表关联的数据,右表没有用null代替
SELECT * from user LEFT JOIN writers on user.id = writers.id
5、right join 和left join类似
SELECT * from user RIGHT JOIN writers on user.id = writers.id
觉得有用的记得推荐,评论666。。。
内容来源于网络如有侵权请私信删除
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。