/*看表*/

describe test --查看表的结构

show create table test --查看表的创建语句

show create table test  \G --将创建的语句查询出来,并规范化显示(只在console下支持此命令,因为只有console下会错乱显示...)

/*改表*/

alter table test rename to testo; --将test改名为testo

alter table example0 rename to user;

select table_name from information_schema.tables  where table_schema = 'test'--从整个系统中查询table_schema(数据库名)为test的所有表名(table_name)

---test消失,取而代之的是排在最后的是testo

describe user;--先查看下原来user表Name属性的数据类型

alter table user modify name varchar(30); --将testo表的name属性改为varchar(30)的数据类型

describe user;--验证一下,修改成功

----创建一个实验用表example1,补坑

create table example1(stu_id int(11) not null primary key,

stu_name varchar(20), --不指定default值,默认就是default null

stu_sex tinyint(1)

)

---修改表中字段的字段名与类型

use test;

describe example1--先查看下原来exmaple表stu_sex属性的数据类型

alter table example1 change stu_sex sex tinyint(2);--同时更改字段名和字段的数据类型

describe example1 --验证一下,,Complete

---增加字段

alter table user add phone varchar(20);--增加无约束的字段

describe user --检查结果,ok

alter table user add age int(4) NOT NULL --增加完整性约束的字段

/*增加字段时,如果能够加上完整性约束条件,一定要加上,可以保证此字段的安全性*/

describe user --检查结果,ok

alter table user add num int(8) primary key first--乖乖,这里出错了,之前自己抖机灵给Id定成主键了,现在无法增加num主键字段了。。

--先学习删除主键吧

alter table user drop primary key--改动user表drop掉其primary key

--重新增加新的主键字段

alter table user add num int(8) primary key--报错,提示出现组合字段

--查看一下

describe user --竟然没有drop掉主键。。‘一个表中,只可有一个自增字段,且那个字段必须被定位成主键’

--所以,先想法删除自增字段,貌似只能重新定义字段,但是在生产环境下怎么办、?先备份再insert into a  select * from b?

alter table user change id id int(11)

--再看一下

describe user--ok,去掉了自增属性

--现在尝试删主键

alter table user drop primary key--ok,Command(s) completed successfully.

--重新尝试增加新的主键字段

alter table user add num int(8) primary key --ok,Command(s) completed successfully. --后面忘记加first位置限定了

--检查一下

describe user --num字段成功的加到了表中,但排到了最后一个字段...

alter table user add address varchar(30) not null after phone --在phone字段后面增加一个address字段

/*删除字段*/

alter table user drop id --drop掉user表的Id字段

--检查一下

describe user --没有了

/*修改字段的排列位置*/

alter table user modify num int(8) first --先把之前的坑填上

describe user --改得很不错,润物细无声

alter table user modify name varchar(30) first

describe user --恩,这个也改对了

/*修改字段到指定位置*/ /*注意,modify时把数据类型也附上*/

alter table user modify sex tinyint(1) after age --将user表的sex字段修改到age字段之后

--如果不加字段类型行不行?

describe sc --找个临时表实验一下

alter table user modify grade after sNo --不行,看来数据类型起到隔断的作用。。。

/*修改存储引擎*/

show create table user --修改之前先查看下创建语句是如何定义存储引擎的

--engine=InnoDB

alter table user engine = MyISAM--更改存储引擎为myisam,Command(s) completed successfully.

--查看修改之后的创建语句

show create table user --engine=MyISAM

/*删除外键约束*/

show create table example3 --先查找外键的名称,为'c_fk'

alter table example3 drop foreign key c_fk --无引号'',Command(s) completed successfully.

--检查一下

show create table example3--没有外键定义了

/*删除表*/

--删之前先确认下有没有

describe example5--还真没有

--创建一个吧

create table example5(id int(11) not null primary key,

stu_id int(11) default null unique,--如图,key列是UNI,是唯一性约束

name varchar(20)

)

--删除表

drop table example5 --Command(s) completed successfully.

--看看还有么有

describe example --OK,不存在了ErrorMessage: Table 'test.example' doesn't exist

/*删除被外键依赖着的表*/

--先补坑

create table example4(id int(11) primary key,

name varchar(20) not null,

stu_id int(11) default null,

constraint d_fk foreign key(stu_id) references example1(stu_id)--报错,此处的外键名称不应加''

) ENGINE = INNODB default charset = utf8

--试试被删除的主表example1

drop table example1 --报错,ErrorMessage: Cannot delete or update a parent row: a foreign key constraint fails

--先删除被关联的子表外键

alter table example4 drop  foreign key d_fk--Command(s) completed successfully.

--检查子表外键是否被删除

use test

show  create table example4 --外键定义语句被删除

--继续删除被依赖的主表

drop table example1 --Command(s) completed successfully.

--查看是否被删除

describe example1--OK,ErrorMessage: Table 'test.example1' doesn't exist

mysql 查询表的key_MySQL学习笔记-查看表,修改表,删除表相关推荐

  1. Mysql基础知识:创建、查看、修改和删除表

    Mysql 创建.查看.修改和删除表 1. 创建表 创建表的语法形式: CREATE TABLE 表名 ( 属性名 数据类型 约束条件,属性名 数据类型 约束条件,...) ENGINE=存储引擎名 ...

  2. MySQL学习笔记-约束以及修改数据表

    MySQL学习笔记-约束以及修改数据表 约束: 按功能划为: NOT NULL , PRIMARY KEY , UNIQUE KEY , DEFAULT , FOREIGN KEY 按数据列的数目划为 ...

  3. 《姜承尧的MySQL实战宝典》学习笔记

    <姜承尧的MySQL实战宝典>学习笔记 1 表结构设计 1.1 数字类型 1.1.1 整形类型 1.1.2 浮点类型和高精度型 1.1.3 实战--整型类型与自增设计 1.1.4 实战-- ...

  4. mysql的sql语言学习笔记总结

    文章目录 SQL -1.SQL通用语法 -2.SQL分类 -3.DDL -4.DML -5.DQL -6.DCL SQL -1.SQL通用语法 SQL语句可以单行或多行书写,以分好结尾 SQL语句可以 ...

  5. MySQL实战45讲学习笔记

    文章目录 MySQL实战45讲-学习笔记 01 基础架构:一条SQL查询语句是如何执行的? mysql逻辑架构 连接器 查询缓存 分析器 优化器 执行器 02 日志系统:一条SQL更新语句如何执行 r ...

  6. Windows保护模式学习笔记(八)—— 页目录表基址/页表基址

    Windows保护模式学习笔记(八)-- 页目录表基址/页表基址 要点回顾 一.页目录表基址 实验:拆分线性地址C0300000,并查看其对应的物理页 第一步:打开一个进程,获得它的Cr3 第二步:查 ...

  7. 从零开始带你成为MySQL实战优化高手学习笔记(一)

    重复是有必要的. 很多新入职的小朋友可能和现在的我一样,对数据库的了解仅仅停留在建库建表增删改查这些操作,日常工作也都是用封装好的代码,别说底层原理了,数据库和系统之间是如何工作都不是很懂. 长此以往 ...

  8. 【EF学习笔记07】----------加载关联表的数据 贪婪加载

    [EF学习笔记07]----------加载关联表的数据 贪婪加载 讲解之前,先来看一下我们的数据库结构:班级表 学生表 贪婪加载 //贪婪加载 using (var db = new Entitie ...

  9. HiveQL学习笔记(三):Hive表连接

    本系列是本人对Hive的学习进行一个整理,主要包括以下内容: 1.HiveQL学习笔记(一):Hive安装及Hadoop,Hive原理简介 2.HiveQL学习笔记(二):Hive基础语法与常用函数 ...

最新文章

  1. 鸿蒙os电视是安卓,适配鸿蒙OS系统的机型又增加了!和安卓系统相比鸿蒙有哪些特点?...
  2. zabbix自动发现规则实现批量监控主机的TCP监听端口
  3. 现在c++链接oracle,C++ 连接Oracle
  4. 项目开发时前端及数据库遇到的问题
  5. QT的QWizard类的使用
  6. 老李说事:性能测试服务日记
  7. 基于Verilog的4-PAM
  8. Linux基础——Linux 基本指令 nano 和 cat
  9. Python中__init__和__del__方法介绍
  10. 6个文件写出Tomcat核心功能(新手必看)
  11. 大数据hadoop入门 总结图
  12. 三菱plcascll转换16进制_三菱ASCII码指令
  13. stm32编程初始化设备步骤
  14. STM32F103C8T6核心开发板下,通过TIM3和TIM4输出PWM波形实现2个 LED呼吸灯的效果
  15. 计算机软件卡死,必看!电脑运行卡或软件卡死无响应,怎么办?
  16. 二极管在电路设计中的应用
  17. Jenkins+Jmeter+Ant 生成接口测试报告并发送邮件
  18. ITPUB一周精选2007.11.16
  19. ssm基于Java和MySql的产业信息管理系统的设计与实现毕业设计源码260839
  20. 《Adobe After Effects CC完全剖析》——时间设置

热门文章

  1. ProxySQL 常见表配置
  2. Beta阶段冲刺第一天
  3. 4059. 统计某指定字符出现个数
  4. Number()、parseInt() 和 parseFloat() 的区别
  5. 跨平台通信中间件thrift学习【Java版本】(转)
  6. 团队开发——用户需求报告
  7. 【淘宝技术这十年】,读后总结篇 转载
  8. 一个未知高度垂直居中的简单方法
  9. linux之sed使用技巧
  10. linux命令最终篇