本节介绍:

表结构操作

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

字段操作

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

首发时间: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. chrome强制刷新,非ctrl+f5

    开发时,经常有ctrl+f5无法做到真正的强制刷新,以下可以帮到你 Ctrl+Shift+Del 清除Google浏览器缓存的快捷键 Ctrl+Shift+R 重新加载当前网页而不使用缓存内容

  2. MySQL(3)---MySQL优化

    MySQL优化 一.单表.双表.三表优化 1.单表    首先结论就是,range类型查询字段后面的索引全都无效 (1)建表 create table if not exists article( i ...

  3. 举个栗子看如何做MySQL 内核深度优化

    本文由云+社区发表 作者介绍:简怀兵,腾讯云数据库高级工程师,负责腾讯云CDB内核及基础设施建设:先后供职于Thomson Reuters和YY等公司,PTimeDB作者,曾获一项发明专利:从事MyS ...

  4. 【Go】深入剖析slice和array

    文章来源:https://blog.thinkeridea.com/201901/go/shen_ru_pou_xi_slice_he_array.html array 和 slice 看似相似,却有 ...

  5. Go Web:URLs

    URL也是一个结构体: type URL struct { Scheme string Opaque string // encoded opaque data User *Userinfo // u ...

  6. IIS应用程序池_缓存回收

    本人最近由于公司业务,需要把问卷的问题和答案存入缓存中已提高问卷加载速度,减少数据库压力. 缓存关键代码(公司代码已做封装,这里只贴出关键代码): HttpRuntime.Cache.Insert(k ...

  7. C# 实现Jwtbearer Authentication

    Jwtbearer Authentication 什么是JWT JWT(JSON Web Token), 顾名思义就是在Web上以JSON格式传输的Token(RFC 7519). 该Token被设计 ...

  8. Go vs .NET Core 2.1

    .NET Core 2.1 正式发布之际,微软团队在博客的中提到了 .NET Core 2.1 中的性能提升.这让我想起了去年 Go 语言 Iris MVC 框架作者做的 Go 与 .NET Core ...

  9. C#设计模式之七桥接模式(Bridge Pattern)【结构型】

    一.引言 今天我们要讲[结构型]设计模式的第二个模式,该模式是[桥接模式],也有叫[桥模式]的,英文名称:Bridge Pattern.大家第一次看到这个名称会想到什么呢?我第一次看到这个模式根据名称 ...

  10. 有哪些Java性能优化方法?

    面试官:"有性能优化经验没?"  应聘者:"有一点."   面试官:"那你们从哪些方面做了优化?"   应聘者:"sql优化.JV ...