目录

  • 3.1 提出问题,引入“表“的概念与思维模式 table
  • 3.2 引用数据库和查看数据库中的表
    • 1. 引用数据库
    • 2. 查看数据库中的表
  • 3.3 创建表
  • 3.4 创建表(企业用,有B格)
  • 3.5 查看表结构
    • 1. 显示出表的sql语句
    • 2. 查看表的结构
  • 3.6 删除表
    • 1. 删除单个表
    • 2. 删除多个表
    • 3.7 修改表
    • 1. 添加一个新的字段
    • 2. 指定位置添加一个新的字段
    • 3. 删除字段
    • 4. 修改字段(名、类型)
    • 5. 修改表名

3.1 提出问题,引入“表“的概念与思维模式 table

表的概念

数据库类似于厂库,而表呢就是对数据进行抽象分类的货架

注意:在创建数据库的时候一定要记得设置字符编码

3.2 引用数据库和查看数据库中的表

1. 引用数据库

mysql> use student;
Database changed

2. 查看数据库中的表

mysql> show tables;
Empty set (0.00 sec)

3.3 创建表

创建表

mysql> create table student(-> id int,-> name varchar(30),-> age int,-> salary int-> );
Query OK, 0 rows affected (0.04 sec)
mysql> show tables-> ;
+-----------------------+
| Tables_in_student |
+-----------------------+
| empolyee              |
+-----------------------+

注意:在MySQL中字符串的语句是不使用String的,而是使用varchar,需要表明长度,同时一级一级的写语句能更加整洁明了

3.4 创建表(企业用,有B格)

mysql> create table if not exists teacher(-> id int auto_increment primary key comment'主键id',-> name varchar(30) not null comment '老师的名字',-> phone varchar(20) comment '电话号码',-> address varchar(100) default '暂时未知' comment '住址'-> )engine=innodb;
Query OK, 0 rows affected (0.03 sec)

注意:在创建表的时候,在default单引号中间的内容要和所定义的数据类型一样,最后一个属性写完不要用“,

关键词解释

  • auto_increment: 对字段进行自动增长
  • primary key: 主键,是关系型数据库连接桥梁,必须填写不能空着
  • comment: 注释
  • not null: 不能为空,必须填写
  • default: 如果为空那么表中这个数据默认为’ '中的内容,默认值
  • engine = innodb: 表示数据库引擎

两种方式创建的有什么区别呢?
简单的

mysql> create table empolyee(-> id int,-> name varchar(30),-> age int,-> salary int-> );
Query OK, 0 rows affected (0.04 sec)mysql> show create table empolyee;
+----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table    | Create Table                                                                                                                                                                                |
+----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| empolyee | CREATE TABLE `empolyee` (`id` int(11) DEFAULT NULL,`name` varchar(30) DEFAULT NULL,`age` int(11) DEFAULT NULL,`salary` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=gbk |
+----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.01 sec)

复杂的

mysql> create table staff(-> id int auto_increment primary key comment'主键id',-> name varchar(30) not null,-> age int comment'年龄',-> salary int default '0' comment'薪水'->  )engine=innodb;
Query OK, 0 rows affected (0.03 sec)mysql> show create table staff;
+-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table                                                                                                                                                                                                                                                        |
+-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| staff | CREATE TABLE `staff` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id',`name` varchar(30) NOT NULL,`age` int(11) DEFAULT NULL COMMENT '年龄',`salary` int(11) DEFAULT '0' COMMENT '薪水',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk |
+-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

即使没有写default,但还是会默认default

3.5 查看表结构

1. 显示出表的sql语句

show create table teacher;
mysql> show tables;
+-------------------+
| Tables_in_student |
+-------------------+
| teacher           |
+-------------------+
1 row in set (0.00 sec)mysql> show create table teacher;
+---------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table   | Create Table|
+---------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| teacher | CREATE TABLE `teacher` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id',`name` varchar(30) NOT NULL COMMENT '老师的名字',`phone` varchar(20) DEFAULT NULL COMMENT '电话号码',`address` varchar(100) DEFAULT '暂时未知' COMMENT '住址',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk |
+---------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.01 sec)

2. 查看表的结构

 desc teacher;
mysql> desc teacher;
+---------+--------------+------+-----+----------+----------------+
| Field   | Type         | Null | Key | Default  | Extra          |
+---------+--------------+------+-----+----------+----------------+
| id      | int(11)      | NO   | PRI | NULL     | auto_increment |
| name    | varchar(30)  | NO   |     | NULL     |                |
| phone   | varchar(20)  | YES  |     | NULL     |                |
| address | varchar(100) | YES  |     | 暂时未知 |                |
+---------+--------------+------+-----+----------+----------------+
4 rows in set (0.01 sec)
  • Null :代表的是否能为空
  • Key PRI :代表是唯一值
  • Default :说明是否设立default
  • Extra :代表的是规则,上述文件是自动增加

3.6 删除表

1. 删除单个表

drop table if exists staff ;

2. 删除多个表

drop table if exists staff,empolyee;

3.7 修改表

1. 添加一个新的字段

alter table 表名 add 字段名 字段类型
mysql> alter table student add name varchar(30);
Query OK, 0 rows affected (0.07 sec)
Records: 0  Duplicates: 0  Warnings: 0mysql> desc student;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(4)      | YES  |     | NULL    |       |
| name  | varchar(30) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

2. 指定位置添加一个新的字段

在某字段之后

alter table 表名 add 字段名 字段类型 after 字段名
mysql> alter table student add age int after id;
Query OK, 0 rows affected (0.06 sec)
Records: 0  Duplicates: 0  Warnings: 0mysql> desc student;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(4)      | YES  |     | NULL    |       |
| age   | int(11)     | YES  |     | NULL    |       |
| name  | varchar(30) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

在第一行添加

alter table 表名 add 字段 字段类型 first
mysql> alter table student add phone int(20) first;
Query OK, 0 rows affected (0.06 sec)
Records: 0  Duplicates: 0  Warnings: 0mysql> desc student;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| phone | int(20)     | YES  |     | NULL    |       |
| id    | int(4)      | YES  |     | NULL    |       |
| age   | int(11)     | YES  |     | NULL    |       |
| name  | varchar(30) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

3. 删除字段

alter table 表名 drop 字段
mysql> alter table student drop phone;
Query OK, 0 rows affected (0.06 sec)
Records: 0  Duplicates: 0  Warnings: 0mysql> desc student;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(4)      | YES  |     | NULL    |       |
| age   | int(11)     | YES  |     | NULL    |       |
| name  | varchar(30) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

4. 修改字段(名、类型)

修改名和类型(完全修改)

alter table 表名 change 字段名 新的字段名 字段类型
mysql> alter table student change age phone varchar(20);
Query OK, 0 rows affected (0.07 sec)
Records: 0  Duplicates: 0  Warnings: 0mysql> desc student;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(4)      | YES  |     | NULL    |       |
| phone | varchar(20) | YES  |     | NULL    |       |
| name  | varchar(30) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

修改类型

alter table 表名 modify 字段名 要改成的字段类型
mysql> alter table student modify phone int(20);
Query OK, 0 rows affected (0.07 sec)
Records: 0  Duplicates: 0  Warnings: 0mysql> desc student;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(4)      | YES  |     | NULL    |       |
| phone | int(20)     | YES  |     | NULL    |       |
| name  | varchar(30) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

5. 修改表名

alter table 表名 rename to 新表名
mysql> alter table student rename to empolyee;
Query OK, 0 rows affected (0.02 sec)mysql> show tables;
+-----------------------+
| Tables_in_qiu_company |
+-----------------------+
| empolyee              |
+-----------------------+
1 row in set (0.00 sec)

3:表的基本操作-MySQL相关推荐

  1. MySql基础,MySql表的基本操作

    文章目录 MySQL数据表的基本操作 MySQL创建数据表 基本语法 MySQL 修改数据表 修改表名 修改表字符集 MySQL修改/删除字段 修改字段名称 修改字段数据类型 删除字段 MySQL删除 ...

  2. mysql left join 查询_MySQL联表查询基本操作之left-join常见的坑

    概述 对于中小体量的项目而言,联表查询是再常见不过的操作了,尤其是在做报表的时候.然而校对数据的时候,您发现坑了吗?本篇文章就 mysql 常用联表查询复现常见的坑. 基础环境 建表语句 DROP T ...

  3. MySQL学习_数据库和表的基本操作

    目录 1 创建和查看数据库 1.1 创建数据库 1.2 查看数据库 1.3 修改数据库 1.4 删除数据库 2 数据类型 2.1 整数类型 2.2 日期数据类型 2.3 字符串数据类型 3表的基本操作 ...

  4. mysql综合案例 数据表的基本操作

    mysql综合案例 数据表的基本操作 创建修改删除表,掌握数据表的基本操作 创建数据库company,按下表创建两个table名为offices和employees offices表结构 字段名 数据 ...

  5. [MySQL]基本数据类型及表的基本操作

    哈喽,大家好!我是保护小周ღ,本期为大家带来的是 MySQL 数据库常用的数据类型,数据表的基本操作:创建.删除.修改表,针对修改表的结构进行了讲解,随后是如何向数据表中添加数据,浅浅的提了一下表中数 ...

  6. mysql数据库操作宠物表_mysql数据库及表的基本操作

    1. 数据库操作 1.1 创建数据库 # 创建数据库 mysql> create database db_test; # 查看创建好的数据库 mysql> show create data ...

  7. 数据库以及表的基本操作

    一.数据库的操作 create database[if not exists]数据库名; 创建一个名字为company2的使用utf8忽略大小写的数据库 create database company ...

  8. sql数据表改为自动递增显示与其他表关联_MySQL萌新第一季 第四话-数据表的基本操作...

    本话旨在完成以下内容: 在数据库中,数据表是数据库中最重要和基本的操作对象,是数据存储的基本单位.换句话说我们操作数据库其实重要的就是操作数据表.本章将详细介绍数据表的基本操作,主要内容包括:创建数据 ...

  9. 数据库和表的基本操作

    2019-10-4数据库和表的基本操作 数据库->数据表->字段 一.数据库和表的基本操作 1.创建和查看数据库 ①创建数据库 CREATE DATABASE 数据库名称; 实例:创建一个 ...

最新文章

  1. 基于TCP(面向连接)的Socket编程
  2. BZOJ1068:[SCOI2007]压缩——题解
  3. plsql tables 没有表_InnoDB 层锁、事务、统计信息字典表 | 全方位认识 information_schema...
  4. springboot集成shiro实现注册、登录、退出功能
  5. 【EasyUI】DataGrid实现表格的筛选过滤、排序
  6. 前端学习(1034):jquery插件-全屏滚动
  7. linux部署redis集群遇到的问题
  8. es-head 删除INDEX 创建mapping
  9. 基于JAVA+Spring+MYSQL的办公自动化系统
  10. 算法导论笔记:32字符串匹配算法
  11. 19. yum 常用命令《Mr.Robot》
  12. 【java】超市购物小程序
  13. python读取nc出图_python读取nc文件
  14. matlab画组合立方体,matlab小程序 画立方体
  15. 马化腾和朱啸虎互怼之后,摩拜ofo合并可能性基本为零
  16. HTML网页设计:五、行内元素和块元素
  17. ruby自动注册163邮箱
  18. 二分法求中点最佳code写法
  19. PM2.5检测 -- PMS7003 开发程序
  20. 讯飞-糖尿病遗传风险检测挑战赛

热门文章

  1. Python实战之小说下载神器(二)整本小说下载:看小说不用这个程序,我实在替你感到可惜*(小说爱好者必备)
  2. 转:typedef的用法
  3. dlopen和dlsym
  4. docker配置镜像加速
  5. 查找附近的人-mongodb的实现
  6. window时间同步
  7. 使用IBM SPSS快速对数据进行分组
  8. 什么是稀疏向量(向量的稀疏表示)
  9. 电脑上怎么压缩PDF文件
  10. 腾讯云香港轻量新IP段简单测评