Mysql常见命令

1 创建数据库

create database + 数据库名 + 字符集设定

e.g.  create database test charset gbk;


2 修改表

  • 修改表名,基本语法:rename table 旧表名 to 新表名;
  • 修改表选项,基本语法:alter table + 表名 + 表选项[=] + 值;


表中新添字段 alter table 表名 操作 字段名 字段位置

表中修改字段 alter table 表名 

更新表数据update table 表名 set 字段名= where 条件


删除整张表drop table 表名(表结构不存在)

删除整张表数据 delete from 表名(表结构还在 表数据没了)

删除表中数据delete from 表名  where 条件(数据可以恢复)

truncate from table(效率高,保留数据表结构,数据不能恢复)


表建好后添加主键:alter table 表名 add primary key(字段名)

删除主键:alter table 表名 drop primary key


修改自增长:alter table 表名 auto_increment = 值

删除自增长:alter table 表名 modify 字段名 字段类型

已有字段添加自增长:alter table 表名 modify 字段名 字段类型 auto_increment


删除唯一键:alter table 表名 drop index 索引名称


唯一键和主键本质相同,区别是唯一键可以为空,并且允许多个空值存在,主键不能为空


索引:提高查询的效率  约束数据的有效性


主键冲突:

方法一:

insert into 表名 values() on duplicate key update 冲突的字段名=值

方法二:替换

replace into 表名 values ();


蠕虫复制(表复制):

create table 表名 like 数据库.复制的表名

表内数据复制:

insert into 表名 select *  from 复制的表名


group by和having好搭档


cross join 和多表查询一样 应该避免该查询方式

inner join 内查询 

left join


right join


去重:distinct


外键:不在自己表中的键,如果一张表中有一个非主键的字段是另外一张表的主键,那么该字段就是外键,一个表中可以有多个外键。

创建表时创建外键:

create table 表名(.....

                              foreign key(字段名) reference 表名(字段名)

   );

在创建表之后增加外键:

alter taable 表名 add constraint 外键名称 foreign key (外键字段) reference 外表名(主键字段);


删除外键:

alter table 表名 drop foreign key 外键字段;


父表:外键指向的表

子表:拥有外键的表


union 联合查询 使用order by要配合limit使用


视图:

create view 视图名 as select ....


视图本身不能修改 只能修改视图的来源

修改视图:alter view 视图名 as select ...


删除视图:

drop view + 视图名


视图意义:

  • 视图可以节省 SQL 语句,将一条复杂的查询语句用视图来进行封装,以后可以直接对视图进行操作;
  • 数据安全,视图操作主要是针对查询的,如果对视图结构进行处理,例如删除,并不会影响基表的数据;
  • 视图往往在大型项目中使用,而且是多系统使用,可以对外提供有用的数据,但是隐藏关键(或无用)的数据;
  • 视图是对外提供友好型的,不同的视图提供不同的数据,就如专门对外设计的一样;
  • 视图可以更好(或者说,容易)的进行权限控制。
多表视图不能新增 删除表中数据


视图算法:undefined默认的 

         temptable临时的 合并


在MySQL中,修改字段排列位置的基本语法格式如下:

ALTER TABLE 表名 MODIFY 字段名1 数据类型 FIRST | AFTER 字段名2;

修改自增字段

alter table table_name modify column col_name int auto_increment;






































评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值