首页 > 数据库 >MySQL库,表,数据的操作

MySQL库,表,数据的操作

时间:2022-10-07 15:45:23浏览次数:48  
标签:-- 数据库 MySQL table 字段 表名 操作 数据 alter

数据库的操作

1. 创建数据库

create database [if not exists]  `数据库名` charset=字符编码(utf8mb4);
  1. 如果多次创建会报错
  2. 如果不指定字符编码,默认为 utf8mb4 (一个汉字占用 4 个字节)
  3. 给数据库命名一定要习惯性加上反引号, 防止和关键字冲突

2. 查看数据库

show databases;

3. 选择数据库

use `数据库的名字`;

4. 创建数据库

create database `数据库名`;

5. 修改数据库

-- 只能修改字符集
alter database `数据库名` charset=字符集;

6. 删除数据库

drop database [if exists] `数据库的名字`;

表的操作

表是建立在数据库中的数据结构,是一类数据的存储集。

1. 表的创建

create table [if not exists] `表的名字`(
	id int not null auto_increment primary key comment '主键',
	account char(255) comment '用户名' default 'admin',
	pwd text(16383) comment '密码' not null
)charset=utf8mb4;
  • 字符集如果不指定, 默认继承库的字符集.

2. 查看所有的表

选择数据库后,才能查看表

show tables;

3.删除表

删除表必须在数据库中进行删除

drop table [if exists] `表名`

4. 显示建表结构

desc `表名`;
describe `表名`;

5. 修改表

-- 修改表的名称
alter table `old_name` rename `new_name`;
-- 移动表 到指定的数据库
alter table `表名` rename to 数据库名.表名;

6. 修改字段

-- 增加一个新的字段
alter table `表名` add `字段名` 数据类型 [属性];
-- 增加一个新的字段, 并放在首位
alter table `表名` add `字段名` 数据类型 [属性] first;
-- 增加一个新的字段, 并放在某一个字段之后
alter table `表名` add `字段名` 数据类型 [属性] after 指定字段;
-- 修改字段的属性
alter table `表名` modify `字段名` 数据类型 [属性];
-- 修改字段的名称
alter table `表名` change `原字段名` `新的字段名` 数据类型 [属性];
-- 修改字段的位置
alter table `表名` change `原字段名` `新的字段名` 数据类型 after `指定字段`;
-- 删除字段
alter table `表名` drop `字段名`;

7.复制表

  1. 先在创建一个表,并在表中插入一些数据
/* 创建 abc 表*/
create table abc(
id int primary key auto_increment comment '主键',
username char(32) not null comment '账户',
password char(32) not null comment '密码'
);
/* 插入两条数据 */
insert into abc values(null, 'tom', md5(123456)), (null, 'bob',
md5(123456));
  1. 复制表,并且复制数据
create table `复制表的名称` select * from `原表名`;
  • 特点
    • 完整的复制一个表,既有原表的结构,又有原表的数据
    • 表内字段的属性会丢失,主键的自增等特性不复存在,新插入数据时会有问题
    • 最好不要使用这种方式复制
  1. 仅复制表结构, 不复制数据
create table `复制表的名称` like `原表名`;
  • 特点: 复制后的表结构与原表完全相同,字段的属性与原表也完全一致。但是里面没有数据,
    是一张空表
  • 如果需要,数据可以单独复制
insert into `复制表的名称` select * from `原表名`;

CURD 语句的基本使用

对表中数据的操作一般分为四类, 常记做 "CURD":

  • C: 创建(Create)
  • U: 更新(Update)
  • R: 读取(Retrieve)
  • D: 删除(Delete)

1. INSERT 插入

完整的 insert 语句为

INSERT INTO `表名` (`字段1`, `字段2`, ...) VALUES (`值1`, `值2`, ...);

其中的 INTO 在 MySQL 数据库中可以省略, 但在某些数据库中必须要有。

-- 一次插入一行
insert into `表名` set `字段`=值, `字段`=值;
-- 按照指定字段, 一次插入多行
insert into `表名` (字段1, 字段2 ...) values (值1, 值2, ...), (值1, 值2, ...);
-- 指定全部字段, 一次插入多行
insert into `表名` values (null, 值1, 值2, ...), (null, 值1, 值2, ...);

2. SELECT (查询)

-- 通过 * 获取全部字段的数据
select * from `表名`;
-- 获取指定字段的数据
select `字段1`, `字段2` from `表名`;

3. UPDATE (更新)

-- 修改全表数据
update `表名` set `字段1`=值, `字段2`=值;
-- 使用 where 修改满足条件的行
-- where 类似于 if 条件, 只执行返回结果为 True 的语句
update `表名` set `字段1`=值, `字段2`=值 where `字段`=值;
update `表名` set `字段1`=值, `字段2`=值 where `字段`=值 and `字段`=值;

4. DELETE (删除)

-- 删除表中的所有数据 (逐行删除)
delete from `表名`;
-- 清空全表 (一次性整表删除)
truncate `表名`
-- 使用 where 修改满足条件的行
delete from `表名` where `字段` = 值;
delete from `表名` where `字段` in (1, 2, 3, 4);

小总结

  • 数据库:
create database `库名`;
create table `表名`;
  • 字段
alter table `表名` add `字段名` 类型 [属性];
  • 数据
insert into `表名`;

  • 数据库
drop database `库名`;
drop table `表名`
  • 字段
alter table `表名` drop `字段名`;
  • 数据
delete from `表名` where ...;

  • 数据库
alter database `库名`....;
alter table `表名` ...;
  • 字段
alter table `表名` modify | change ...;
  • 数据
update `表名` set ...;

  • 数据库
show databases [like ...];
show tables [like ...];
  • 字段
desc `表名`;
  • 数据
select * from `表名` where ...;

标签:--,数据库,MySQL,table,字段,表名,操作,数据,alter
From: https://www.cnblogs.com/saury/p/16759850.html

相关文章

  • JavaScript 学习-49.localStorage前端保存数据
    前言localstorage在浏览器的API有两个:localStorage和sessionStorage存在于window对象中:localStorage对应window.localStorage,sessionStorage对应window.sessio......
  • 数据结构-平衡二叉树的基本旋转
    1、AVL树(平衡二叉树)的定义平衡二叉树 全称叫做 平衡二叉搜索(排序)树,简称AVL树。英文:BalancedBinaryTree(BBT),注:二叉查找树(BST)AVL什么意思?AVL是大学教授G.M.A......
  • CVPR2020最佳检测 | 带有注意力RPN和多关系检测器的小样本目标检测网络(提供源码和数据
    computerVision计算机视觉研究院1概要传统的目标检测方法通常需要大量的训练数据,并且准备这样高质量的训练数据是劳动密集型的(工作)。在本文中,我们提出了少量样本的目标检测......
  • db2 数据类型
    一、概述DB2内置了INTEGER、CHAR和DATE等基本数据类型同时还提供创建用户自定义的数据类型(UDT)的工具,使用户能够创建复杂的非传统的数据类型,从而适应当今复杂的编程环境内置......
  • 安装Mysql之Playbook
    ----name:installmysqlhosts:allvars:mysql:mysql-8.0.28-linux-glibc2.12-x86_64tasks:-name:installpackageyum:name:-l......
  • 关于Centos-8.X-操作系统不能使用yum源的解决方法
    今天笔者准备做一些实验时,发现Centos8.x操作系统不能使用官方的yum源了,提示:Error:Failedtodownloadmetadataforrepo'appstream':Cannotprepareinternalmirro......
  • Linux 用户操作指令
    创建用户默认情况下创建一个用户账号,会创建一个家目录和一个用户邮箱(在/var/spool/mail目录以用户名命名)[root@localhost~]#useradd<username>useradd参数说明......
  • [Python学习笔记]使用Python编写自动化程序处理锂电池保护板数据 - Preface
    因为工作需要,目前要开发一款自动化处理数据的程序。该程序的功能是自动读取锂电池BMS保护板数据excel,然后分析数据,来判断保护板中可能存在问题的电芯,并显示在交互界面上。......
  • MySQL面试题(三)
    27、索引的底层实现原理和优化B+树, 经过优化的B+树主 要是在所有的叶子结点中增加了指向下一个叶子节点的指针,  因此InnoDB建 议 为大部分表使用默认自增的主键作为......
  • python+request+pymysql+pytest数据驱动
    一.pymysql简单使用1.安装mysql下载地址:https://www.mysql.com/,安装教程这里不做介绍了,网上一大推。2.安装pymysql库在Terminal终端输入:pipinstallpymysql3.pymysql......