mysql怎么看主键 mysql查看主节点

在MySQL中如何设置主键和外键工具/原料
电脑MySQL
方法/步骤
设置主键:
1、通过终端进入到mysql命令行工具 。
2、通过use关键字进行到目标数据库里 。
3、如原表已有主键 , 先把原来的主键删除掉,通过DROPPRIMARYKEY命令:ALTERTABLE`jingyan`DROPPRIMARYKEY; 。
4、主键已经没有了 。
5、通过命令:ADDPRIMARYKEY来添加ALTERTABLE`jingyan`ADDPRIMARYKEY(`id`) 。
6、输入后按下回车键即可看到queryok执行成功的字符 。
7、回到数据库的可视化工具,即可显示现在的表在id列上添加了主键了 。
设置外键:
1、创建好主从表 。
2、选择主表,点击设计表,进入到表设计界面 。
3、点击外键,进入到外键设置界面 。
4、先设置外键名称和选择主表的外键字段 。
5、然后在设置外键字段对应从表的数据库、表名和字 。
6、点击保存就完成外键设置了 。
MYSQL查询表的主键SELECT
t.TABLE_NAME,
t.CONSTRAINT_TYPE,
c.COLUMN_NAME,
c.ORDINAL_POSITION
FROM
INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS t,
INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS c
WHERE
t.TABLE_NAME = c.TABLE_NAME
AND t.TABLE_SCHEMA = 'test'
AND t.CONSTRAINT_TYPE = 'PRIMARY KEY';
测试执行结果如下:
mysql SELECT
-t.TABLE_NAME,
-t.CONSTRAINT_TYPE,
-c.COLUMN_NAME,
-c.ORDINAL_POSITION
- FROM
-INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS t,
-INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS c
- WHERE
-t.TABLE_NAME = c.TABLE_NAME
-AND t.TABLE_SCHEMA = 'test'
-AND t.CONSTRAINT_TYPE = 'PRIMARY KEY'
- LIMIT 3;
+------------+-----------------+-------------+------------------+
| TABLE_NAME | CONSTRAINT_TYPE | COLUMN_NAME | ORDINAL_POSITION |
+------------+-----------------+-------------+------------------+
| mr_dept| PRIMARY KEY| dept_id|1 |
| order| PRIMARY KEY| id|1 |
| tab| PRIMARY KEY| id|1 |
【mysql怎么看主键 mysql查看主节点】+------------+-----------------+-------------+------------------+
3 rows in set (0.06 sec)
mysql 主键查询是怎么查的SELECT
t.TABLE_NAME,
t.CONSTRAINT_TYPE,
c.COLUMN_NAME,
c.ORDINAL_POSITION
FROM
INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS t,
INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS c
WHERE
t.TABLE_NAME = c.TABLE_NAME
AND t.TABLE_SCHEMA = 'test'
AND t.CONSTRAINT_TYPE = 'PRIMARY KEY';
测试执行结果如下:
mysql SELECT
-t.TABLE_NAME,
-t.CONSTRAINT_TYPE,
-c.COLUMN_NAME,
-c.ORDINAL_POSITION
- FROM
-INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS t,
-INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS c
- WHERE
-t.TABLE_NAME = c.TABLE_NAME
-AND t.TABLE_SCHEMA = 'test'
-AND t.CONSTRAINT_TYPE = 'PRIMARY KEY'
- LIMIT 3;
+------------+-----------------+-------------+------------------+
| TABLE_NAME | CONSTRAINT_TYPE | COLUMN_NAME | ORDINAL_POSITION |
+------------+-----------------+-------------+------------------+
| mr_dept| PRIMARY KEY| dept_id|1 |
| order| PRIMARY KEY| id|1 |
| tab| PRIMARY KEY| id|1 |
+------------+-----------------+-------------+------------------+
3 rows in set (0.06 sec)
MySQL之主键主键是一个索引,mysql的索引是B+树,Mysql会按照键值的大小进行顺序存放,如果我们设置自增id为主键,这个时候主键是按照一种紧凑的接近顺序写入的方式进行存储数据 。如果我们用其他字段作为主键的话,此时Mysql不得不为了将新记录插到合适位置而移动数据 , 甚至目标页面可能已经被回写到磁盘上而从缓存中清掉,此时又要从磁盘上读回来 , 这增加了很多额外的开销,同时频繁的移动、分页操作造成了大量的碎片 。

推荐阅读