MySQL数据库之表的增删改查


1 引言

1、MySQL数据库中,数据库database就是硬盘上的一个文件夹,表table就是文件夹里面的一个文件

2、表中的一条记录就相当于文件中的一行内容,与excel表类似,表table中有不同的标题,称之为字段

3、本节对表结构做增删改查,即创建表、删除表、修改表、查看表结构,至于表中数据的增删改查日后单独总结

2 创建表

1、创建一张表,需要建一个表结构,需要表名、表中字段的名字,字段的数据类型及约束条件等

#建表语法:
    create table 表名(
    字段1 数据类型[(宽度) 约束条件],
    字段2 数据类型[(宽度) 约束条件],
    字段3 数据类型[(宽度) 约束条件],
    ......) engine=innodb;

#注意:
    1、一张表中字段名不能相同
    2、字段的数据类型不能少、宽度和约束条件是可选的
    3、搜索引擎默认engine=innodb,可默认不写
#示例:
#建一张学生表,包含学生id\姓名\年龄\性别\分数5个字段

create table student(
    id int,
    name char(10) not null, #约束条件,not null 不为空
    sex char(10),
    score int);

#注意:
    1、每个字段用逗号隔开,最后一个字段不用逗号
    2、int数据类型可以不指定宽度,日后再解释

3 删除表

1、不同的删除方式会有不同的效果,说白点就是有的删除方式删除的干净,而有的则不是

2、方式1的 drop,彻底删除表全部数据和表结构,立刻释放磁盘空间

3、方式2的 truncate,删除表全部数据,保留表结构,立刻释放磁盘空间

4、方式3的 delete from,删除表全部数据,表结构不变,对于 MyISAM 会立刻释放磁盘空间,InnoDB 不 会释放磁盘空间;这种删除后表中 auto_increment的字段会有影响,需注意!

#方式1:
    drop table 表名;
#方式2:
    truncate table 表名;
#方式3:
    delete from 表名;

4 修改表

1、修改表指的是:修改表名、字段名及其约束条件,和删除字段等操作

2、修改字段时,需要指定数据类型,不管是否修改数据类型

3、增加字段、可以一次增加多个,用逗号隔开;也可以指定新字段的位置

#语法:
#1修改表名
    alter table 表名 新表名;

#2修改字段约束条件
    alter table 表名 modify 字段名 数据类型[(宽度) 约束条件];
#3修改字段名
    alter table 表名 change 旧字段名 新字段名 旧数据类型[(宽度) 约束条件];
    alter table 表名 change 旧字段名 新字段名 新数据类型[(宽度) 约束条件];

#4增加字段
    alter table 表名 add 新字段名1 数据类型[(宽度) 约束条件],
                            新字段名2 数据类型[(宽度) 约束条件];

    alter table 表名 add 新字段名 数据类型[(宽度) 约束条件] first;
    alter table 表名 add 新字段名 数据类型[(宽度) 约束条件] after 字段名;

#5删除字段
    alter table 表名 delete drop 字段名;

5 查看表

#语法:
desc 表名;   #desc是describe的简写

注意:show create table t1\G; #查看表详细结构,可加\G

6 复制表

1、复制表分两种:完全复制(数据和结构),仅复制表结构

2、方式1的复制会复制原表的数据和结构,但key不会复制(primary key\unique key\索引)
3、方式2的复制是因为存在where 条件是Flase,过滤掉了多有数据,就仅剩表结构

4、推荐方式3的复制表结构

#1完全复制
    create table 新表名 select * from student;     #方式1

#2 仅复制表结构,
    create table 新表名 select *from student where 1=2;    #方式2
    create table 新表名 like student;                      #方式3

MySQL数据库之表的增删改查的更多相关文章

  1. Mysql数据库和表的增删改查以及数据备份&恢复

    数据库 查看所有数据库 show databases; 使用数据库 use 数据库名; 查看当前使用的数据库 select database(); 创建数据库 create database 数据库名 ...

  2. MySQL数据库 | 数据表的增删改查

    MySQL数据的增删改查(crud) 本文结构 一.增加 create 二.修改 update 三.查询 retrieve(简单查询,下篇详细展开) 四.删除 delete 首先,创建简单的class ...

  3. MySQL数据库2表的增删改查

    目录 一.数据表(文件): 1.1增 1.2查看表内数据 1.3改 1.4删除列表 1.5查看库内列表及表结构 1.6复制表结构 二.列类型:(*********) 2.1数字 2.2字符串 2.3时 ...

  4. Mysql数据库二:表的增删改查

    ----建表CREATE TABLE emp( id int PRIMARY key auto_increment, name char(10) , birthday DATE , salary FL ...

  5. MySQL数据库与表的增删改查

    1.值库管理 1.1 查询所有值库 show databases; 1.2 创建一个值库 create database 值库名称 default character set 编码格式名称; 1.3 ...

  6. 使用JDBC分别利用Statement和PreparedStatement来对MySQL数据库进行简单的增删改查以及SQL注入的原理

    一.MySQL数据库的下载及安装 https://www.mysql.com/ 点击DOWNLOADS,拉到页面底部,找到MySQL Community(GPL)Downloads,点击 选择下图中的 ...

  7. Python操作MySQL数据库完成简易的增删改查功能

    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 目录 一丶项目介绍 二丶效果展示 三丶数据准备 四丶代码实现 五丶完整代码 一丶项目介绍 1.叙述 博主闲暇之余花了10个小时写的 ...

  8. 在python中连接mysql数据库,并进行增删改查

    数据库在开发过程中是最常见的,基本上在服务端的编程过程中都会使用到,mysql是较常见的一种数据库,这里介绍python如果连接到数据库中,并对数据库进行增删改查. 安装mysql的python扩展 ...

  9. python3.6 使用 pymysql 连接 Mysql 数据库及 简单的增删改查操作

    1.通过 pip 安装 pymysql 进入 cmd  输入  pip install pymysql   回车等待安装完成: 安装完成后出现如图相关信息,表示安装成功. 2.测试连接 import ...

随机推荐

  1. Java 虚拟机部分面试题

    Java虚拟机部分的面试内容包括三部分:GC.类加载机制以及内存 Java内存区域 JVM内存分为哪几部分,这些部分分别都存储哪些数据? 线程隔离的数据区:程序计数器.Java虚拟机栈.本地方法栈. ...

  2. 正则与sed,grep,awk三剑客

    系统登录顺序: /etc/profile /etc/profile.d/a.sh (a.sh自己建的) /root/.bash_profile /root/.bashrc /etc/bashrc /b ...

  3. to_string()函数(C++)

    to_string函数,这是C++11新增的,使用非常方便,简单查了下:C++11标准增加了全局函数std::to_string 函数原型:string to_string (int val);str ...

  4. c++容器简单总结

    数据结构 描述 实现头文件 向量(vector) 连续存储的元素 <vector> 列表(list) 由节点组成的双向链表,每个结点包含着一个元素 <list> 双队列(deq ...

  5. Apache SSI 远程命令执行漏洞复现

    Apache SSI 远程命令执行漏洞复现 一.漏洞描述 当目标服务器开启了SSI与CGI支持,我们就可以上传shtml,利用<!--#exec cmd=”id” -->语法执行命令. 使 ...

  6. jsp的简介(2)

    JSP(JavaServer Pages )是什么? JavaServer Pages(JSP)是一种支持动态内容开发的网页技术它可以帮助开发人员通过利用特殊的JSP标签,其中大部分以<%开始并 ...

  7. JVM指令

    本篇指令码表,参考自ASM文档手册,如果你对asm感兴趣,可到ASM官网下载手册学习. 一.本地变量操作指令(I,L,F,D,A这些前缀表示对int,long,float,double,引用进行操作) ...

  8. ios下,微信小程序scrollview组件中的fixed元素抖得和帕金森病人一样

    问题现象 这个问题是最近在优化小程序代码时发现的. 在ios环境下,微信小程序的scrollview组件包裹着一个position:fixed的view. 当在scrollview组件上滑动时,这个v ...

  9. 在工作中常用到的SQL

    前言 只有光头才能变强. 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 最近在公司做了几张报表,还记得刚开始要做报表的时候都 ...

  10. 【Docker】unauthorized: incorrect username or password

    昨天朋友推荐玩玩 Docker.虽然之前就听过,但一直不清楚干嘛的,也没去搞过,虽然前段时间就装了,但一直没打开.这两天刚开始熟悉,就遇到了点小问题.一番 Google 之后解决了,记录一下. CLI ...