创建数据库
CREATE DATABASE 数据库名
创建一个完整的表
CREATE TABLE employ
(
emp_id
int(11) NOT NULL(非空) AUTO_INCREMENT(自增),
emp_name
varchar(255) CHARACTER SET latin1 DEFAULT NULL,
emp_grade
int(11) DEFAULT NULL,
PRIMARY KEY (emp_id
)(主键)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT=‘员工表’
查询
select * from 表名 where 条件
插入
insert into 表名 values=(‘A’,‘B’,‘C’)
修改
update 表名 set name(想修改的字段)=新值 where 条件
删除
delete from 表名 where 条件
修改字段
增加字段:ALTER TABLE t_student Add f_address char(50);
修改字段:ALTER TABLE t_student Modify(修改) f_address varchar2(50);
重命名字段:ALTER TABLE t_student change 原表名 新表名 数据类型;
删除字段:ALTER TABLE t_student Drop column f_address ;
添加约束条件
格式为:
alter table 表格名称 add constraint 约束名称 增加的约束类型 (列名)
例子:
alter table emp add constraint ppp primary key (id);(添加了一个主键约束)
INNER JOIN(内连接)
:语法:
INNER JOIN 连接两个数据表的用法:(相当于交集的意思)
SELECT * FROM 表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号
表employ:
表power:
INNER JOIN 结果:
FULL OUTER JOIN(全外连接,相当于求了个并集):
全外连接实际是上 左外连接 和 右外连接 的数学合集(去掉重复),即“全外=左外 union 右外”。
在mysql中,并不支持全外连接。所以这里不再给出查询语句和结果。
所以理想话应该是
三图合一!!!
LEFT JOIN 左连接(即使右表中没有匹配,也从左表返回所有的行)
select * from 表1 left join 表2 ON 表1.字段号=表2.字段号
示例:
RIGHT JOIN 右连接(即使左表中没有匹配,也从右表返回所有的行)
select * from 表1 right join 表2 ON 表1.字段号=表2.字段号
示例:
CROSS JOIN(交叉连接,也叫笛卡儿积连接)
运行结果: