Mysql

1、查询某个变量

status或者show variables like ‘%你变量的一部分%’

2.查看创建语句

show create database databasename;
show create table tablename;

3、字段增加属性

比如:table student 下的s_name 增加注释

 alter table student change column s_name s_name  varchar(4) comment'小孩子';

4、change与modify的区别

1、change可以修改字段名,modify不可以
2、change修改字段名时需要写出新的字段名,即使不变,也需要重写一遍,modify不需要

 alter table student change s_id s_id int(3);
 alter table student modify s_id int(3);

5、mysql自增长主键,删除数据后,将主键顺序重新排序

1,删除原有主键:

 ALTER TABLE `table_name` DROP `id`;

2,添加新主键字段:

ALTER TABLE `table_name` ADD `id` int NOT NULL FIRST;

3,设置新主键:

 ALTER TABLE `table_name` MODIFY COLUMN `id` int NOT NULL AUTO_INCREMENT,ADD   PRIMARY KEY(id);

6、MySQL创建相同表和数据命令

创建和表table结构和数据一样的表newtable

create newtable like table;

复制表数据到新表

insert into newtable select * from table;

7、mysql两张表一起查询

select *from table1 table2;

8、当创建好数据表时添加外键约束

添加的两个要求:
1、添加的外键与主表的主键
2、具有主键约束或者唯一性约束(可以通过alter table tbname add unique(column);来添加)

如果要添加的外键已经有数据,那么如果对应数据一致可以添加成功,如果不一致,可以删除后重现添加。

alter table user add foreign key(key) references table(uid);

删除外键约束命令为:

 alter table tablename drop foreign key  foreignkeyname;

可以添加级联属性,即在外键的声明语句后面添加update/delete
但是foreign key的名字是通过show create table命令查看的下列语句中的studentlearn_ibfk_1,而不是s_id
CONSTRAINT studentlearn_ibfk_1 FOREIGN KEY (s_id) REFERENCES student (s_id)

10、添加自增属性

需要的两个条件:
1、值不能为空
2、必须为键(主键)
不为空添加自增属性的命令是

alter table tablename modify column columnname int not null auto_increment;

为了同时满足两个条件可以用

alter table tablename modify column columnname int not null auto_increment primary key;

11、查看是否使用索引

只需要在select之前加入explain

explain select *from tablename where id=1;

12、主键和唯一键之间的主要区别

1、当一个属性声明为主键时,它将不接受NULL值。声明为Unique的属性时(包含的值不能重复,1,2可以1,1就不行),但它可以接受一个NULL值,并且可以有多个null值。
2、表中只能有一个主键,但可以有多个唯一键。
3、定义主键时自动创建聚簇索引。相反,Unique键生成非聚集索引。
13、唯一性约束

DROP INDEX indexname ON tablename;

13、外键依赖造成删除数据出错

MYSQL: Cannot delete or update a parent row: a foreign key constraint fails
这可能是MySQL在InnoDB中设置了foreign key关联,造成无法更新或删除数据。
通过设置FOREIGN_KEY_CHECKS变量来避免这种情况。

SET FOREIGN_KEY_CHECKS = 0; 

删除完成后设置

SET FOREIGN_KEY_CHECKS = 1; 

14、修改表字符集

 ALTER TABLE tablename CHARACTER SET utf8;15

15、有NULL参与的计算结果都为NULL

可以使用IFNULL函数IFNULL(a,b)
a是要查询的字符,b表示查到NULL的替换值,如
IF NULL(age,1)
表示把查到的年龄中的NULL替换为1

16、在特定位置增加列

mysql> alter table t add column name varchar(20) after age;    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值