服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - mysql数据表的基本操作之表结构操作,字段操作实例分析

mysql数据表的基本操作之表结构操作,字段操作实例分析

2021-01-13 18:42随风行云 Mysql

这篇文章主要介绍了mysql数据表的基本操作之表结构操作,字段操作,结合实例形式分析了mysql表结构操作,字段操作常见增删改查实现技巧与操作注意事项,需要的朋友可以参考下

本文实例讲述了mysql数据表的基本操作之表结构操作,字段操作。分享给大家供大家参考,具体如下:

本节介绍:

表结构操作

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

字段操作

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

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


表结构操作

创建数据表:

  • 语法  :

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
-- 建表之前必须指定数据库,可以使用use来指定后续的操作是基于哪个数据库的 ,也可以使用数据库名作为前缀来指定数据表创建在哪个数据库。<br>-- 使用数据库名作为前缀来指定数据表创建在哪个数据库。
create table if not exists mydatabase.student(
name varchar(20),
sex varchar(20),
number varchar(20),
age int
)charset utf8;<br>
-- 使用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。

查看数据表  :

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

  • 语法  :
?
1
2
3
4
5
6
7
8
9
10
11
12
-- 查看所有表
show tables;
-- 查看部分表
show tables like '模糊匹配';
-- 查看表的创建语句
show create table 数据表名;
-- 旋转查看结构
show create table 数据表名\g;
-- 查看表结构:查看表中的字段信息:
desc/desc 表名;
describe 表名;
show columns from 表名;
  • 模糊匹配:
    • _匹配单个字符
    • %匹配多个字符
  • 使用示例  :
?
1
2
3
4
5
6
7
show tables;<br>
show tables like 'my%';<br>
show create table student;<br>
show create table student\g;<br>
desc student;
describe student;
show columns from student;

图例:

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

mysql数据表的基本操作之表结构操作,字段操作实例分析

mysql数据表的基本操作之表结构操作,字段操作实例分析

desc/describe /show columns from 表名;

mysql数据表的基本操作之表结构操作,字段操作实例分析

修改数据表结构  :

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

  • 语法  :
?
1
2
3
4
-- 修改表名:
rename table 老表名 to 新表名;
--修改表选项:
alter table 表名 表选项 [=] 值;
  • 使用示例  :
?
1
2
3
4
5
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;

删除数据表  :

  • 语法  :
?
1
drop table 表名1,表名2...;
  • 使用示例  :
?
1
2
drop table demo;
drop table demodata;
  • 补充说明  :
    • 删除不可恢复,删除需谨慎。

字段操作  :

新增字段  :

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

  • 语法  :
?
1
alter table 表名 add [column] 字段名 数据类型 [列属性] [位置];
  • 使用示例  :
?
1
2
3
4
5
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 字段名 :代表在某个字段后面;
    • 列属性:主键,空值 等;

修改字段  :

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

  • 语法  :
?
1
alter table 表名 modify 字段名 数据类型 [属性] [位置];
  • 使用示例  :
?
1
2
3
4
5
6
7
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;
  • 补充说明  :
    • 字段名和数据类型是必填的,属性和位置是选填的。
    • 如果字段本身带着属性的,那么必须带上原来的,否则会被去除掉;如果需要在原有属性的基础上添加新的属性,则在填入时,那么在带上原有属性的基础上加上新的属性即可
    • mysql数据表的基本操作之表结构操作,字段操作实例分析

重命名字段  :

  • 语法  :
?
1
alter table 表名 change 旧字段 新字段 数据类型 [属性] [位置];
  • 使用示例  :
?
1
2
alter table demo change class room varchar(10);
alter table my_student change sex gender varchar(10);
  • 补充说明  :
    • 数据类型是必填的,但可以是新的【重名字段可以顺便改数据类型】
    • 改名的同时也能修改字段的数据类型,属性和位置。【如果字段带有属性,重命名字段时可以不带上】mysql数据表的基本操作之表结构操作,字段操作实例分析

删除字段  :

  • 语法  :
?
1
alter table 表名 drop 字段名;
  • 使用示例  :
?
1
2
alter table my_student drop age;
alter table demo drop room;
  • 补充说明  :
    • 删除需谨慎,删除字段代表着将该字段下的所有数据都将删除。

希望本文所述对大家MySQL数据库计有所帮助。

原文链接:https://www.cnblogs.com/progor/p/8453351.html

延伸 · 阅读

精彩推荐
  • MysqlMySQL锁的知识点总结

    MySQL锁的知识点总结

    在本篇文章里小编给大家整理了关于MySQL锁的知识点总结以及实例内容,需要的朋友们学习下。...

    别人放弃我坚持吖4362020-12-14
  • MysqlMySQL 数据备份与还原的示例代码

    MySQL 数据备份与还原的示例代码

    这篇文章主要介绍了MySQL 数据备份与还原的相关知识,本文通过示例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下...

    逆心2962019-06-23
  • Mysql详解MySQL中的分组查询与连接查询语句

    详解MySQL中的分组查询与连接查询语句

    这篇文章主要介绍了MySQL中的分组查询与连接查询语句,同时还介绍了一些统计函数的用法,需要的朋友可以参考下 ...

    GALAXY_ZMY5432020-06-03
  • Mysql解决MySQl查询不区分大小写的方法讲解

    解决MySQl查询不区分大小写的方法讲解

    今天小编就为大家分享一篇关于解决MySQl查询不区分大小写的方法讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起...

    Veir_dev5592019-06-25
  • MysqlERROR: Error in Log_event::read_log_event()

    ERROR: Error in Log_event::read_log_event()

    ERROR: Error in Log_event::read_log_event(): read error, data_len: 438, event_type: 2 ...

    MYSQL教程网6402020-03-13
  • Mysql浅谈mysql 树形结构表设计与优化

    浅谈mysql 树形结构表设计与优化

    在诸多的管理类,办公类等系统中,树形结构展示随处可见,本文主要介绍了mysql 树形结构表设计与优化,具有一定的参考价值,感兴趣的小伙伴们可以参...

    小码农叔叔5242021-11-16
  • Mysqlmysql 不能插入中文问题

    mysql 不能插入中文问题

    当向mysql5.5插入中文时,会出现类似错误 ERROR 1366 (HY000): Incorrect string value: '\xD6\xD0\xCE\xC4' for column ...

    MYSQL教程网5722019-11-25
  • MysqlMySQL数据库varchar的限制规则说明

    MySQL数据库varchar的限制规则说明

    本文我们主要介绍了MySQL数据库中varchar的限制规则,并以一个实际的例子对限制规则进行了说明,希望能够对您有所帮助。 ...

    mysql技术网4192019-11-23