数据库的基本操作

在MySQL数据库中,对于一个MySQL示例,是可以包含多个数据库的。

在连接MySQL后,我们可以通过 show databases; 来进行查看有那么数据库。这里已经存在一些库了,其中information_schema、auth、mysql、performance_schema这几个库时是MySQL内置的(不同版本略有差异)。

那如何新建自己的数据库呢?使用CREATE DATABASE 数据库名; 即可。

CREATE DATABASE 数据库名;

这里我们已经成功创建了mysql_xuexi这个数据库了,然后我们再次show databases; 查询,就可以看到mysql_xuexi已经在列表了。

在建完这个库后,我觉得取得名字不好,想改成mysql_study,因为还没有任何表在里面,所以我想删了重建(如果有表存在,修改数据库名还是有些复杂的,所以取名这件事生下来还是要慎重对待)。

删除数据库使用DROP DATABASE 数据库名;语句、

DROP DATABASE 数据库名;

当然删库是一个危险的动作,为了避免删库跑路,删库前务必做两件事,一确认自己没有发烧,二确认自己的确认是对的。这里我的库刚建的,所以确认无误了。

然后创建了mysql_study数据库,那我们现在想使用这个库,该怎么做?

我们需要先切换到该库下,使用USE 数据库名称;语句。

USE 数据库名称;

切换到对应库后,我们可以使用SHOW TABLES;来查看库中的表。因为刚刚创建的,还是热乎的,所以里面什么也没有。

表的基本操作

那我们快来创建第一个表吧,使用CREATE TABLE 语句,当然还需要定义表的列属性等。

CREATE TABLE 表名 (
列名1 数据类型 [列的属性],
列名2 数据类型 [列的属性],
...
列名n 数据类型 [列的属性]
);

例如我们创建最简单的user表,包含int类型的id,和varchar(5)的name列。

CREATE TABLE user (
id INT,
name VARCHAR(5)
);

对于创建的表,我们可以使用以下命令查看具体细节。

DESC 表名;
DESCRIBE 表名;
EXPLAIN 表名;
SHOW COLUMNS FROM 表名;
SHOW FIELDS FROM 表名;

对于数据库的名字,修改不方便, 那表呢?更改表名还是比较容易的,使用ALTER TABLE 表名 RENAME TO 新的表名;即可

ALTER TABLE 表名 RENAME TO 新的表名;

这样就将表名改为了user_info。那如果要删除表呢?使用DROP TABLE 表名;

DROP TABLE 表名;

列的基本操作

删完了我又默默将user表创建回来了,因为还要继续使用呢。

如果我们想在user表中增加列属性,如何操作?

ALTER TABLE 表名 ADD COLUMN 列名 数据类型 [列的属性];

新增age列。

如果要修改列,可以使用下面的语句,MODIFY只支持改列的属性,而CHANGE支持修改列名称和列属性。

# 修改列属性
ALTER TABLE 表名 MODIFY 列名 新数据类型 [新属性];
# 修改列名称
ALTER TABLE 表名 CHANGE 旧列名 新列名 新数据类型 [新属性];

比如age,我想改成user_age,且长度只想定义为2位。

要删除列,既然有ADD、MODIFY、CHANGE,那就应该有DROP,没错。

ALTER TABLE 表名 DROP 列名;

数据的基本操作

有了表,也会操作基本的列,但我们平时说的增删改查,没有数据怎么叫增删改查,所以我们需要来点儿数据。

使用INSERT插入数据,在不指定列的时候,按列的顺序插入,而且必须是列的值必须包含全量的列,而声明列则自由的多

INSERT INTO 表名 VALUES(列1的值,列2的值, ...);
INSERT INTO 表名(列1, 列2, ...) VALUES(列1的值,列2的值, ...);

例如在user表插入数据。

INSERT INTO user VALUES(1,'zs');
INSERT INTO user(id,name) VALUES(2,'ls');
INSERT INTO user(name,id) VALUES('ww',3);

至于查询,相信你已经看到了,使用SELECT语句,SELECT * FROM 表名;是最基本的查询,*表示查看所有的列属性,查询一般需要配合WHERE等条件筛选,操作较复杂,后面会继续深入。

SELECT 列1, 列2, ... FROM 表名 [WHERE条件];

修改数据,我们使用UPDATE语句。更新的本质是修改那些符合条件的数据,也即先查询出对应数据,然后再对其做更改。所以一般查询也是需要结合WHERE语句的,不带WHERE的语句会将表中的数据全部更改,这个日常中一定要注意。


UPDATE 表名 SET 列1=列的新值1, 列2=列的新值2, ... [WHERE 条件]

至于删除,使用DELETE语句,该语句一样是个危险语句,注意千万要带上WHERE,除非你是真的要删除所有数据,或者一时脑子发烧了。

DELETE FROM 表名 [WHERE 条件];

至此,MySQL的基本使用就差不多OK了,当然还有些复杂的语句,我们将在后续继续学习。

MySQL系列:MySQL的基本使用的更多相关文章

  1. MYSQL系列-Mysql存储引擎选择

    MYSQL系列-Mysql存储引擎选择 //查看当前数据库支持的存储引擎 show engines \G; 创建表的时候可以通过engine=MyISAM指定存储引擎 MyISAM: .MYISAM不 ...

  2. MYSQL系列-MYSQL基础增强(Myql函数)

    MYSQL基础增强(Myql函数) 在这里只介绍一些常用的,比较新颖的: 字符串函数: CONCAT://字符串连接函数 mysql> SELECT CONCAT('My', 'S', 'QL' ...

  3. DB2 Vs MySQL系列 | MySQL与DB2的数据类型对比

    随着MySQL数据库的应用越来越广泛,DB2向MySQL数据库的迁移需求也越来越多.进行数据库之间迁移的时候,首先遇到的并且也是最基本最重要的就是两种数据库数据类型之间的转换. 相关阅读: 从商用到开 ...

  4. MySQL 系列(四)主从复制、备份恢复方案生产环境实战

    第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数 ...

  5. MySQL 系列(三)你不知道的 视图、触发器、存储过程、函数、事务、索引、语句

    第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数 ...

  6. MySQL 系列(二) 你不知道的数据库操作

    第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 本章内容: 查看\创建\使用\删除 数据库 用户管理及授权实战 局域网 ...

  7. MySQL 系列(五) 多实例、高可用生产环境实战

    MySQL 系列(五) 多实例.高可用生产环境实战   第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 史上最屌.你不知道的数据库操作 第三 ...

  8. 屌炸天实战 MySQL 系列教程(二) 史上最屌、你不知道的数据库操作

    此篇写MySQL中最基础,也是最重要的操作! 第一篇:屌炸天实战 MySQL 系列教程(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:屌炸天实战 MySQL 系列教程(二) 史上最屌.你不 ...

  9. MySQL系列(一)--基础知识大总结

    MySQL系列(一)---基础知识大总结 前言:本文主要为mysql基础知识的大总结,mysql的基础知识很多,这里只是作为简单的介绍,但是具体的细节还是需要自行搜索.当然本文还有很多遗漏的地方,后续 ...

  10. MySQL系列(二)---MySQL事务

    MySql 事务 目录 MySQL系列(一):基础知识大总结 MySQL系列(二):MySQL事务 什么是事务(transaction) 保证成批操作要么完全执行,要么完全不执行,维护数据的完整性.也 ...

随机推荐

  1. 开发 Django 博客文章阅读量统计功能

    作者:HelloGitHub-追梦人物 文中所涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 如何精确地记录一篇文章的阅读量是一个比较复杂的问题,不过对于我们的博客来说,没有必要 ...

  2. Cohen-Sutherland算法

    Cohen-Sutherland算法 本算法又称为编码裁剪算法,算法的基本思想是对每 条直线段分三种情况处理: (1)若点p1和p 2完全在裁剪窗口内 “简取”之 (2)若点p1(x1,y1)和p2( ...

  3. MySQL视图的优缺点以及如何创建视图

    视图,虚拟表,从一个表或多个表中导出来的表,作用和真实表一样,包含一系列带有行和列的数据 视图中,用户可以使用SELECT语句查询数据,也可以使用INSERT,UPDATE,DELETE修改记录,视图 ...

  4. postman参数化

    1.新建csv文件 2.csv文件中输入变量名和参数 3.postman中新增接口,并设置变量 4.选择进入 5.导入参数化csv格式文件,点击run 查看运行结果

  5. VirtualBox for Mac 6.0.14 开源免费虚拟机方案

    VirtualBox for mac是一款开源虚拟机软件,你可以利用该软件在Mac OS平台上运行Windows软件,即可以在一定程度上弥补Mac OS平台软件不足的劣势,玩家也可以获得Windows ...

  6. Win10安装gcc、g++、make

    下载安装包:    1. MinGW官网下载:http://www.mingw.org        点击右上角Downloads 点击下载 mingw-get-setup.exe 2. 百度网盘(2 ...

  7. Ubuntu系统下制作U盘启动盘

    在终端输入 sudo fdisk -l 查看U盘的路径,如/dev/sdb或/dev/sdc. 然后下载ISO文件,如文件路径为/home/raina/xxx.iso 在终端输入 sudo dd if ...

  8. 初学 Spring MVC(基于 Spring in Action)

    Spring MVC(Model-View-Controller) 当你看到本博文时,我猜你可能正面临着我已探索过的问题. 同其他博主一样,我先按照书上详细的介绍一下 Spring MVC,也是为了自 ...

  9. 你真的了解Web前端开发吗?未来前端远比你想的有前途!

    近几年来,随着 HTML5.JS 的流行,前端这个职业火热了起来!不少人发出疑惑,前端以后还会更有前途吗? 我只能告诉你:前端不灭 现在都明白了用户体验至上,还要用着舒服 后端提供床,前端提供颜值高的 ...

  10. enable_shared_from_this

    头文件<memory> enable_shared_from_this是一个模板类. 使用场景:需要把自己类对象作为参数传给其他函数时,就需要传递一个指向自身的share_ptr. str ...