本节介绍:

表结构操作

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

字段操作

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

首发时间: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. deque源码2(deque迭代器、deque的数据结构)

    deque源码1(deque概述.deque中的控制器) deque源码2(deque迭代器.deque的数据结构) deque源码3(deque的构造与内存.ctor.push_back.push_ ...

  2. 在Mac OSX上配置Appium+Android自动化测试环境

    前提准备 开始正文之前,你需要准备好一些基本条件: 1.安装好Mac OSX 操作系统的设备 2.能够访问中国局域网以外资源的方法(没有也行,但很痛苦) 3.已经安装好 homebrew 4.已经安装 ...

  3. C++版 - 剑指Offer 面试题45:圆圈中最后剩下的数字(约瑟夫环问题,ZOJ 1088:System Overload类似)题解

    剑指Offer 面试题45:圆圈中最后剩下的数字(约瑟夫环问题) 原书题目:0, 1, - , n-1 这n个数字排成一个圈圈,从数字0开始每次从圆圏里删除第m个数字.求出这个圈圈里剩下的最后一个数字 ...

  4. 【转】vmware 安装 osx 无法登录 appstore 的解决办法 (伪造smbios设备信息)

    伪造smbios设备信息 原文网址:http://www.insanelymac.com/forum/topic/292170-how-to-spoof-real-mac-in-vmware/page ...

  5. .Net和C#介绍

    一.前言 本文主要针对刚入门以及还需要对基础进行恶补一下的兄弟进行基础介绍,并尽可能的做到客观,如有错误也虚心接受高手门的纠正. 二..Net平台简介 .net即DotNet,首先我先给出微软的定义: ...

  6. How Tomcat works — 三、tomcat启动(2)

    在了解了tomcat 的一些基本组件之后,学习启动过程就更容易理解了,因为启动过程就是启动各个组件. 目录 启动顺序 Bootstrap类 Catalina类 StandardServer类和Stan ...

  7. Linux两台主机之间建立信任(ssh免密码)

    背景: 有时候我们在两个主机之间复制文件的时候,提示输入密码,很不方便,那如何免密码复制呢?,就是使用通过linux公钥和秘钥,建立双机信任关系. 在整理之前,我先说下ssh免密码的要点 : 你想免密 ...

  8. solr查询特殊字符的处理

    1. 使用solr的页面功能时,遇到语法错误 2. 确认原因 从lexical error分析时特殊字符的问题. 首先 solr查询有哪些特殊字符? 查找官方文档:http://lucene.apac ...

  9. Asp.Net项目的部署到Linux中(Linux + Jexus+Nginx )

    因为老项目用的Asp.Net Web API技术开发部署到Window系统上,而新项目用的是.Net Core部署到Ubuntu系统中,所以在管理切换上有些不便.于是决定将老项目的测试服部署到Ubun ...

  10. SHELL脚本--多命令逻辑执行顺序

    bash&shell系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html Linux中可以使用分号“;”.双and号“&& ...