MySQL的数据库的操作
前言:mysql的对数据库的操作主要分为3种:
- DML数据定义语言(data definition language),定义数据的完整性约束,
- DML数据操作语言(data manipulation language),检索(查询)和更新(增删改)
- DCL数据控制语言(data controll language),数据完整性控制和是数据安全性控制和数据库的恢复
表的操作
表的创建
create table table_name(列名 数据类型,....);
查看
describle[desc] table_name;
show create table table_name;
删除
drop table table_name;
修改
修改表名
alter table old_table_name rename [to] new table name;
字段(添加在最后一列)
alter table table_name add 列名 数据类型;
字段(添加在指定第几列)
alter table table_name add 列名 数据类型 first/second;
字段(添加在指定列后面)
alter table table_name add 列名 数据类型 after 某个列名;
删除字段
alter table table_name drop 列名;
修改字段数据类型
alter table table_name modify 列名 数据类型;
修改字段名
alter table table_name change 旧列名 新列名 旧数据类型;
修改字段名和属性
alter table table_name change 旧列名 新列名 新数据类型;
修改字段的顺序
alter table table_name modify 列名1 数据类型 first|after 列名2;
创建表时,对字段的约束not null,default 默认值,单字段主键 primary key,多字段主键 constraint 约束名 primary key(列名1,列名2);字段自增 auto_increament;外键:constraint 外键约束名 foreign key(属性名) reference 表名2(属性名2)
索引
索引类似于书的目录,通过目录可以快速的查找到你想要看的内容,数据库也是,为了提高查询效率,也需要在表上建立索引
创建索引
create index index_name on table_name(列名);
删除索引
drop index index_name on table_name;
视图
创建视图
create view view_name as select语句;
删除视图
create view view_name,[view_name2]
修改视图
alter view view_name as select语句;
视图查询数据
select * from view_name;
视图数据的更新
如果视图由一张表组成,对视图数据的更新则会影响基本表的数据
如果视图由多张表组成,则不允许对视图进行添加和删除操作
数据的操作
插入
insert into table_name(字段名1,字段名2,....) values(....);
插入查询结果
insert into table_name(字段名1,字段名2,....)
select (字段名1,字段名2,....) from table_name2 where 条件
更新
update table_name set 字段1= ;字段2= where 条件;
删除
delete from table_name where 条件 #删除指定数据
delete from table_name #删除所有数据
查询
简单查询
select 字段1,字段2,... from table_name;
去重查询
select distinct 字段1,字段2,... from table_name;
条件查询
简单条件查询 常用条件 =,>, <, between and, is null,in,like,like 'A%'(以A开头),like '_A'(第二个字母为A),like %A%(包含A)
select 字段1,字段2,... from table_name where 条件;
查找记录排序
asc升序,desc降序,也可以多字段排序
select 字段1,字段2,... from table_name where 条件 order by 字段名 asc|desc
限制查询记录
limit startNum,nums;
聚合函数
count(字段)
avg(字段)
sum(字段)
max(字段)
min(字段)
分组
select function(字段) from table_name where 条件 group by 字段;#一般这两个字段都是样的
select group_contact(字段) from table_name where 条件 group by 字段;#可以看见谁分在了一起
分组条件查询(不能使用where,只能使用having)eg:
select dept_no avg(sal) average from t_emp group by sal having average>2000;
网友评论