1.存储引擎的介绍

(1)存储引擎

1.什么是存储引擎?

mysql中建立的库===>文件夹

库中建立的表===>文件

现实生活中我们用来存储数据的文件有不同的类型,每种文件类型对应各自不同的处理机制:比如处理文本用txt类型,处理表格用excel,处理图片用png等

数据库中的表也应该有不同的类型,表的类型不同,会对应mysql不同的存取机制,表类型又称为存储引擎。

2.MySQL支持的存储引擎

#1.InnoDB 存储引擎 #2.MyISAM 存储引擎 #3.NDB 存储引擎

#4.Memory 存储引擎(在重启mysql或者重启机器后,表内数据清空)

#5.Infobright 存储引擎 #6.NTSE 存储引擎

#7.BLACKHOLE黑洞存储引擎(往表内插入任何数据,都相当于丢入黑洞,表内永远不存记录)

3.使用存储引擎

方法1:建表时指定   

  MariaDB [db1]> create table innodb_t1(id int,name char)engine=innodb;
  MariaDB [db1]> create table innodb_t2(id int)engine=innodb;
  MariaDB [db1]> show create table innodb_t1;
  MariaDB [db1]> show create table innodb_t2;

方法2:在配置文件中指定默认的存储引擎

  /etc/my.cnf
  [mysqld]
  default-storage-engine=INNODB
  innodb_file_per_table=1

2.表的增删改差

1.表介绍

表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称为表的字段

+------+------+------+--------+
| id | name | age | sex |
+------+------+------+--------+
| 1 | egon | 18 | male |
| 2 | alex | 81 | female |
| 3 | NULL | NULL | NULL |
| 4 | NULL | NULL | NULL |
+------+------+------+--------+
 

id,name,age,sex称为字段,其余的,一行内容称为一条记录

2.创建表  

create table 表名(
字段名1 类型[(宽度) 约束条件],
字段名2 类型[(宽度) 约束条件],
字段名3 类型[(宽度) 约束条件]);

#注意:
1. 在同一张表中,字段名是不能相同
2. 宽度和约束条件可选
3. 字段名和类型是必须的

示例:

MariaDB [db1]> create table t1(
-> id int,
-> name varchar(50),
-> sex enum('male','female'),
-> age int(3)
-> );
 
MariaDB [db1]> insert into t1 values
-> (1,'egon',18,'male'),
-> (2,'alex',81,'female')
-> ;
MariaDB [db1]> select * from t1;
+------+------+------+--------+
| id | name | age | sex |
+------+------+------+--------+
| 1 | egon | 18 | male |
| 2 | alex | 81 | female |
+------+------+------+--------+

3.查看表结构

MariaDB [db1]> describe t1; #查看表结构,可简写为desc 表名
+-------+-----------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-----------------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(50) | YES | | NULL | |
| sex | enum('male','female') | YES | | NULL | |
| age | int(3) | YES | | NULL | |
+-------+-----------------------+------+-----+---------+-------+
MariaDB [db1]> show create table t1\G; #查看表详细结构,可加\G

4.修改表结构

语法

(1).修改存储引擎

mysql> alter table service -> engine=innodb;

(2). 增加字段
ALTER TABLE 表名
   ADD 字段名 数据类型 [完整性约束条件…];

mysql> alter table student10
-> add name varchar(20) not null,

ALTER TABLE 表名
   ADD 字段名 数据类型 [完整性约束条件…] FIRST;

mysql> alter table student10
-> add stu_num varchar(10) not null after name; //添加name字段之后

ALTER TABLE 表名
   ADD 字段名 数据类型 [完整性约束条件…] AFTER 字段名;

mysql> alter table student10
-> add sex enum('male','female') default 'male' first; //添加到最前面

(3). 删除字段
ALTER TABLE 表名
  DROP 字段名;

mysql> alter table student10
-> drop sex;

(4). 修改字段
ALTER TABLE 表名
  MODIFY 字段名 数据类型 [完整性约束条件…];

mysql> alter table student10
-> modify age int(3);
mysql> alter table student10
-> modify id int(11) not null primary key auto_increment; //修改为主键

ALTER TABLE 表名
  CHANGE 旧字段名 新字段名 旧数据类型 [完整性约束条件…];
ALTER TABLE 表名
  CHANGE 旧字段名 新字段名 新数据类型 [完整性约束条件…];

5.复制表结构

复制表结构+记录 (key不会复制: 主键、外键和索引)

mysql> create table new_service select * from service;

只复制表结构

mysql> select * from service where 1=2;        //条件为假,查不到任何记录
Empty set (0.00 sec)
mysql> create table new1_service select * from service where 1=2;
Query OK, 0 rows affected (0.00 sec)
Records: 0 Duplicates: 0 Warnings: 0

用like 也可以只复制表结构

mysql> create table t4 like employees;

6.删除表结构

DROP TABLE 表名;

感谢观看,如有不对,一定要指出。小木在这里谢谢了

MySQL表操作(上篇)的更多相关文章

  1. Python 3 mysql 表操作

    Python 3 mysql 表操作 表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称为表的字段 id,name,qq,age称为字段,其余的,一行内容称为 ...

  2. 数据库 -- mysql表操作

    一,存储引擎介绍 存储引擎即表类型,mysql根据不同的表类型会有不同的处理机制 详见:https://www.cnblogs.com/peng104/p/9751738.html 二,表介绍 表相当 ...

  3. 8.3 mysql 表操作

    库操作 一 系统数据库 information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息.列信息.权限信息.字符信息等    performance_sch ...

  4. MySQL表操作及数据操作

    表操作 表相当于一个文件,其形式与现实中的表格相同.表中的每条记录都有相应的字段,字段就类似于表格的表头. 表操作详细: #对表进行操作(文件) #首先要切换到指定库(即文件夹)下:use db1; ...

  5. 细说MySQL表操作

    目录 语法 查看表结构 查看所有的表 删除表 查看创建表的语句 修改表的字符集和校验规则 修改表名 在表中添加新字段 修改表的字段名 修改表中字段的属性 删除表中的某个字段 设置某个字段为主键 把某个 ...

  6. mysql表操作与权限操作

    修改表ALTER TABLE 语法: . 修改表名 ALTER TABLE 表名 RENAME 新表名; . 增加字段 ALTER TABLE 表名 ADD 字段名 数据类型 [完整性约束条件…], ...

  7. mysql数据库从删库到跑路之mysql表操作

    表介绍 表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称为表的字段 id,name,qq,age称为字段,其余的,一行内容称为一条记录 内容: 1 创建表 ...

  8. MySQL 表操作 (Day40)

    阅读目录 一.表介绍 二.创建表 三.查看表 四.修改表 五.删除表 六.操作表中的记录 一.表介绍 表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,则称为表 ...

  9. Mysql表操作

    查看表结构: 可以使用describe或show create table语句查看表的结构: describe表名; Show create table 表名; 修改表名: Alter table 旧 ...

  10. mysql 表操作

    创建表 简单的方式 CREATE TABLE person ( number INT(11), name VARCHAR(255), birthday DATE ); 或者是 CREATE TABLE ...

随机推荐

  1. CF873F - Forbidden Indices

    题意:对于一个字符串 \(S\),有一些位置是被 \(\text{Ban}\) 掉的. 对于这个字符串的所有子串,它的分数是(长度 \(\times\) 在没有被 \(\text{Ban}\) 掉的位 ...

  2. day06-动态SQL语句

    动态SQL语句 1.基本介绍 官方文档 mybatis – MyBatis 3 | 动态 SQL 为什么需要动态SQL? 动态SQL是MyBatis的强大特性之一 使用 JDBC 或其他类似的框架,根 ...

  3. 前端js下载excel

    // 1.文件流下载文件: export function axiosPostExport(url, data, fileName, suffix = '.xlsx') {     url = get ...

  4. springbooot 序列化对象配置

    RbpsemsConfig:    @Bean    @Primary    @ConditionalOnMissingBean(ObjectMapper.class)    public Objec ...

  5. pycharm过期解决方案

    如果你的pycharm老是过期,你可以直接下载最新版本的pycharm,然后加入一个网站获取激活码即可 http://idea.medeming.com/jets/

  6. Bugku-不可破译的密码[wp]

    一 题目分析 flag.txt cipher.txt (1)密码表形式和维吉尼亚密码一样 (2)看到504Q0304 很容易想到 504B0304 Zip文件头. 二 解题步骤 2.1 解密密文 根据 ...

  7. Linux 搭建Apache(httpd)服务

    简介:Apache HTTP Server是开源软件项目,基于标准的HTTP网络协议提供的网页浏览服务,http是Apache服务器的主程序,它是一个独立的后台进程. 1. 安装 A. 安装httpd ...

  8. USB设备判断接入和移除

    目录 以沁恒的CH582芯片为例,主机模式下,在R8_USB_INT_EN中可以使能RB_UIE_DETECT位,由中断来提醒检测USB设备的接入和移除:从机模式下,USB设备没有这样的中断功能(上述 ...

  9. iOS开发之各机型屏幕大小与键盘高度整理

    机型 屏幕宽 屏幕高 键盘高 iPhone 8 375 667 260 iPhone 8 Plus 414 736 271 iPhone X 375 812 336 iPhone Xs 375 812 ...

  10. 利用Opencv+Python 实现二维码识别

    pip3 install pyzbar   准备工作: 二维码图片,我这里直接打印在了一张A4纸上,或者直接在草料网站上生成 草料二维码生成器,存放在手机上进行显示.在安装条码扫描库的时候大家注意:z ...