本节介绍:

表结构操作

  • 创建数据表、
  • 查看数据表和查看字段、
  • 修改数据表结构
  • 删除数据表

字段操作

  • 新增字段、
  • 修改字段数据类型、位置或属性、
  • 重命名字段
  • 删除字段

首发时间:2018-02-18  21:31


表结构操作

创建数据表:

  • 语法  :

create table [if not exists] 表名(
字段名字 数据类型,
字段名字 数据类型
)[表选项];
  • 表选项  :

    • 字符集:charset表中存储数据的字符集
    • 校对集:colloate表中用来校对数据的校对集
    • 存储引擎  :engine存储数据的存储引擎
    • 表选项和库选项的区别是,如果不设置表选项就会采用库选项的设置,就好象一个“局部变量”。
  • 使用示例  :

-- 建表之前必须指定数据库,可以使用use来指定后续的操作是基于哪个数据库的 ,也可以使用数据库名作为前缀来指定数据表创建在哪个数据库。
-- 使用数据库名作为前缀来指定数据表创建在哪个数据库。
create table if not exists mydatabase.student(
name varchar(20),
sex varchar(20),
number varchar(20),
age int
)charset utf8;
-- 使用use来指定后续操作基于哪个数据库
use mydatabase;
create table if not exists class(
name varchar(20),
room varchar(20)
)charset utf8; -- 演示不带表选项的创建表
use mydatabase;
create table if not exists class(
name varchar(20),
room varchar(20)
);
  • 补充说明  :

    • if not exists 是先检查是否存在同名的表,如果存在,则不执行后面的创建语句。 十分建议使用。如果你确定这个表不存在,那么可以不使用。
    • 如果没有指定表选项,将使用默认的,比如mysql默认的存储引擎是innodb。

查看数据表  :

查看数据表可以查看已有数据表、数据表的字段信息

  • 语法  :
-- 查看所有表
show tables;
-- 查看部分表
show tables like '模糊匹配';
-- 查看表的创建语句
show create table 数据表名;
-- 旋转查看结构
show create table 数据表名\G;
-- 查看表结构:查看表中的字段信息:
Desc/desc 表名;
describe 表名;
show columns from 表名;
  • 模糊匹配:
    • _匹配单个字符
    • %匹配多个字符
  • 使用示例  :
show tables;
show tables like 'my%';
show create table student;
show create table student\G;
desc student;
describe student;
show columns from student;

图例:

  1. show create table student;跟show create table sudent\G;

Desc/describe /show columns from 表名;

修改数据表结构  :

修改表只能修改表名和表选项。

  • 语法  :
-- 修改表名:
rename table 老表名 to 新表名;
--修改表选项:
Alter table 表名 表选项 [=] 值;
  • 使用示例  :
rename table student to my_student;
rename table class to my_class;
--
Alter table my_student charset gbk;
Alter table my_collation_bin collate =utf8_bin;

删除数据表  :

  • 语法  :
Drop table 表名1,表名2...;
  • 使用示例  :
drop table demo;
drop table demodata;
  • 补充说明  :

    • 删除不可恢复,删除需谨慎。


字段操作  :

新增字段  :

新增字段是在表存在的基础上新增字段

  • 语法  :
Alter table 表名 add [column] 字段名 数据类型 [列属性] [位置];
  • 使用示例  :
Alter table 表名 add [column] 字段名 数据类型 [列属性] [位置];
Alter table demo add column id int first;
Alter table demo add id int;
Alter table demo add class int after age;
Alter table demo add number int not null after age;
  • 补充说明  :

    • 位置常用语法:

      • first :表示位于第一列,
      • after 字段名 :代表在某个字段后面;
    • 列属性:主键,空值 等;

修改字段  :

修改字段一般都是修改字段数据类型或者字段属性

  • 语法  :
Alter table 表名 modify 字段名 数据类型 [属性] [位置];
  • 使用示例  :
Alter table my_student modify number char(10) after id;
Alter table demo modify number int null ;
--
alter table student modify name varchar(20) not null; --
alter table student modify name varchar(20) not null primary key;
  • 补充说明  :

    • 字段名和数据类型是必填的,属性和位置是选填的。
    • 如果字段本身带着属性的,那么必须带上原来的,否则会被去除掉;如果需要在原有属性的基础上添加新的属性,则在填入时,那么在带上原有属性的基础上加上新的属性即可

重命名字段  :

  • 语法  :
Alter table 表名 change 旧字段 新字段 数据类型 [属性] [位置];
  • 使用示例  :
alter table demo change class room varchar(10);
Alter table my_student change sex gender varchar(10);
  • 补充说明  :

    • 数据类型是必填的,但可以是新的【重名字段可以顺便改数据类型】
    • 改名的同时也能修改字段的数据类型,属性和位置。【如果字段带有属性,重命名字段时可以不带上】

删除字段  :

  • 语法  :
Alter table 表名 drop 字段名;
  • 使用示例  :
Alter table my_student drop age;
alter table demo drop room;
  • 补充说明  :

    • 删除需谨慎,删除字段代表着将该字段下的所有数据都将删除。

mysql数据表的基本操作:表结构操作,字段操作的更多相关文章

  1. 使用 sqoop 将mysql数据导入到hive表(import)

    Sqoop将mysql数据导入到hive表中 先在mysql创建表 CREATE TABLE `sqoop_test` ( `id` ) DEFAULT NULL, `name` varchar() ...

  2. MySQL数据查询之多表查询

    多表查询 多表联合查询 #创建部门 CREATE TABLE IF NOT EXISTS dept ( did int not null auto_increment PRIMARY KEY, dna ...

  3. mysql 之编码配置、引擎介绍、字段操作、数据类型及约束条件

    数据库的配置 # 通过配置文件统一配置的目的: 统一管理 服务端(mysqld) 客户端(client) 配置了mysqld(服务端)的编码为utf8, 那么再创建的数据库,默认编码都采用utf8. ...

  4. 关于C#读取MySql数据时,返回DataTable中某字段数据是System.Array[]形式

    我在使用C#(VS2008)读取MySql数据库(5.1版本)时,返回的DataTable数据中arrivalDate字段数据显示为System.Array[]形式(程序中没有对返回的数据进行任何加工 ...

  5. MySQL数据查询之单表查询

    单表查询 简单查询 - 创建表 DROP TABLE IF EXISTS `person`; CREATE TABLE `person` ( `id` ) NOT NULL AUTO_INCREMEN ...

  6. (六)MySQL数据、库、表的管理

    目录 数据的管理 库的管理 表的管理 数据的管理 一.数据插入语句 1.语法: INSERT INTO 表名(列名,...) VALUES(值1,...); 2.案例:在beauty表中添加一条信息( ...

  7. SQL Fundamentals: 表的创建和管理(表的基本操作,闪回技术flashback,表结构修改)

    SQL Fundamentals || Oracle SQL语言 1.表的基本操作 (CREATE TABLE, DROP TABLE,TRUNCATE TABLE, RENAME tablename ...

  8. 顺序表的基本操作【c语言】【创建、插入、删除、输出】

    作为数据结构初学者,上课时对一些知识点掌握得不是很透彻,所以利用课余时间通过微博平台总结所学知识,加深对知识的见解,记录学习历程便于后需要时参考. #include<stdio.h> #i ...

  9. Django学习——Django测试环境搭建、单表查询关键字、神奇的双下划线查询(范围查询)、图书管理系统表设计、外键字段操作、跨表查询理论、基于对象的跨表查询、基于双下划线的跨表查询

    Django测试环境搭建 ps: 1.pycharm连接数据库都需要提前下载对应的驱动 2.自带的sqlite3对日期格式数据不敏感 如果后续业务需要使用日期辅助筛选数据那么不推荐使用sqlite3 ...

随机推荐

  1. Android--多线程之AsyncTask

    前言 本片博客将介绍AsyncTask的使用,之前有介绍过线程和进程.而在AsyncTask中,运行在用户界面中,执行异步操作,并且把执行结果发布在UI线程上,且也不需要处理线程和Handler.在本 ...

  2. Eclipse报错:!!MESSAGE Job found still running.......

    !ENTRY org.eclipse.core.jobs 2 2 2014-01-08 09:28:06.387 !MESSAGE Job found still running after plat ...

  3. 高性能Mysql笔记 — 索引

    index优化 对于频繁作为查询条件的字段使用索引 注意索引字段类型的隐式转换,数据库类型和应用类型要一致 索引的种类 唯一索引,成为索引的列不能重复 单列索引,一个索引只包含一列 单列前缀索引,有些 ...

  4. 初识MongoBD

    一.安装 我使用的系统是Ubuntu16.04,不同版本系统参照官网安装步骤.安装官网4个步骤安装好MongoDB并启动. sudo apt-key adv --keyserver hkp://key ...

  5. 以 SPI 方式获取 SD 卡容量(V2.0)

    下面是 SD 卡 V2.0 协议的 CSD 寄存器内容,来自官方手册: 单片机如何确定当前的 SD 卡遵循 V2.0 协议 CSD 寄存器为 128 个位,即 16 个字节.通过检测 CSD 寄存器的 ...

  6. Django 系列博客(二)

    Django 系列博客(二) 前言 今天博客的内容为使用 Django 完成第一个 Django 页面,并进行一些简单页面的搭建和转跳. 命令行搭建 Django 项目 创建纯净虚拟环境 在上一篇博客 ...

  7. Apollo 10 — adminService 全量发布

    目录 UI 界面 Portal 服务 admin 服务 总结 1. UI 界面 2. Portal 服务 当我们点击上面的发布按钮的时候,调用的当然是 portal 的接口.具体代码如下: /** * ...

  8. NLP入门(二)探究TF-IDF的原理

    TF-IDF介绍   TF-IDF是NLP中一种常用的统计方法,用以评估一个字词对于一个文件集或一个语料库中的其中一份文件的重要程度,通常用于提取文本的特征,即关键词.字词的重要性随着它在文件中出现的 ...

  9. struts2_模型驱动

    一.注意点 建立实现ModelDriven接口的action类 在该action类中,创建实体对象并new 在getModel返回该对象 在显示页面中提交的表单name正常写 二.案例 创建实体类Us ...

  10. 【Java每日一题】20170327

    20170324问题解析请点击今日问题下方的“[Java每日一题]20170327”查看(问题解析在公众号首发,公众号ID:weknow619) package Mar2017; public cla ...