MySQL系列:MySQL的基本使用
数据库的基本操作
在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的基本使用的更多相关文章
- MYSQL系列-Mysql存储引擎选择
MYSQL系列-Mysql存储引擎选择 //查看当前数据库支持的存储引擎 show engines \G; 创建表的时候可以通过engine=MyISAM指定存储引擎 MyISAM: .MYISAM不 ...
- MYSQL系列-MYSQL基础增强(Myql函数)
MYSQL基础增强(Myql函数) 在这里只介绍一些常用的,比较新颖的: 字符串函数: CONCAT://字符串连接函数 mysql> SELECT CONCAT('My', 'S', 'QL' ...
- DB2 Vs MySQL系列 | MySQL与DB2的数据类型对比
随着MySQL数据库的应用越来越广泛,DB2向MySQL数据库的迁移需求也越来越多.进行数据库之间迁移的时候,首先遇到的并且也是最基本最重要的就是两种数据库数据类型之间的转换. 相关阅读: 从商用到开 ...
- MySQL 系列(四)主从复制、备份恢复方案生产环境实战
第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数 ...
- MySQL 系列(三)你不知道的 视图、触发器、存储过程、函数、事务、索引、语句
第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数 ...
- MySQL 系列(二) 你不知道的数据库操作
第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 本章内容: 查看\创建\使用\删除 数据库 用户管理及授权实战 局域网 ...
- MySQL 系列(五) 多实例、高可用生产环境实战
MySQL 系列(五) 多实例.高可用生产环境实战 第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 史上最屌.你不知道的数据库操作 第三 ...
- 屌炸天实战 MySQL 系列教程(二) 史上最屌、你不知道的数据库操作
此篇写MySQL中最基础,也是最重要的操作! 第一篇:屌炸天实战 MySQL 系列教程(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:屌炸天实战 MySQL 系列教程(二) 史上最屌.你不 ...
- MySQL系列(一)--基础知识大总结
MySQL系列(一)---基础知识大总结 前言:本文主要为mysql基础知识的大总结,mysql的基础知识很多,这里只是作为简单的介绍,但是具体的细节还是需要自行搜索.当然本文还有很多遗漏的地方,后续 ...
- MySQL系列(二)---MySQL事务
MySql 事务 目录 MySQL系列(一):基础知识大总结 MySQL系列(二):MySQL事务 什么是事务(transaction) 保证成批操作要么完全执行,要么完全不执行,维护数据的完整性.也 ...
随机推荐
- Arouter核心思路和源码详解
前言 阅读本文之前,建议读者: 对Arouter的使用有一定的了解. 对Apt技术有所了解. Arouter是一款Alibaba出品的优秀的路由框架,本文不对其进行全面的分析,只对其最重要的功能进行源 ...
- CS184.1X 计算机图形学导论 罗德里格斯公式推导
罗德里格斯公式推导 图1(复制自wiki) 按照教程里,以图1为例子,设k为旋转轴,v为原始向量. v以k为旋转轴旋转,旋转角度为θ,旋转后的向量为vrot. 首先我们对v进行分解,分解成一个平行于k ...
- SQL注入靶场sqli-labs 1-65关全部通关教程
以前说好复习一遍 结果复习到10关就没继续了 真是废物 一点简单的事做不好 继续把以前有头没尾的事做完 以下为Sqli-lab的靶场全部通关答案 目录: less1-less10 less10-les ...
- Python之装饰器(二)
以前你有没有这样一段经历:很久之前你写过一个函数,现在你突然有了个想法就是你想看看,以前那个函数在你数据集上的运行时间是多少,这时候你可以修改之前代码为它加上计时的功能,但是这样的话是不是还要大体读读 ...
- PMBOK(第六版) PMP笔记——《十三》第十三章(项目干系人管理)
PMBOK(第六版) PMP笔记——<十三>第十三章(项目干系人管理) 第十三章 项目干系人管理: 了解干系人的需要和期望.解决实际发生的问题.管理利益冲突.促进干系人合理参与 项目决策和 ...
- webpack 打包 todolist 应用
写在前面的话: 一直想着手动配置webpack实现应用,正好最近这段时间比较空闲,就写了一个通过webpack打包实现todolist的简单应用.本文内容包括:通过webpack打包css,html ...
- Vue中axios的封装和api接口的统一管理
更新的是我csdn上的文章,需要的话可以看下,互相学习点击去我的csdn vue中axios的封装 在vue项目和后端交互获取数据时,通常使用axios库,官方文档:https://www.npmjs ...
- JVM - 复习
内存模型图 程序计数器(PC) 程序计数器的特点 PC是一小块内存空间,用于记录当前线程执行的字节码指令的地址.如果执行的是本地方法(native),PC里此时显示Undefined 优点: 控制程序 ...
- ES和zookeeper选取帮主之江湖秘闻
ES帮会 某日,ES帮会中决定选取老大统领帮会走向辉煌.大家七嘴八舌,讨论方案,场面一顿混乱.傻牛站起来大喊一声:谁比俺力气大,谁就当老大.(ES集群在启动时,选取集群master,按照nodeId进 ...
- httprunner-2-linux下搭建hrun(下)
前言 前面我们说了linux下安装python3,hrun是需要依赖数据库,我们用docker进行安装mysql5.7让数据库能正常连接.安装mysql5.7请参考:https://www.cnblo ...