1、数据库操作

1.1、连接mysql服务器 

  mysql -u root( 用户名 ) -p

1.2、退出mysql命令提示窗

  exit

1.3、查看版本

  SELECT VERSION();

1.4、列出数据库列表

  SHOW DATABASES;

1.5、创建数据库

  CREATE DATABASE IF NOT EXISTS [database] DEFAULT CHARSET UTF8;

1.6、选择要操作的数据库

  USE [database];

1.7、删除数据库

  GROP DATABASE [database];

2、表操作(建立在已经选定了数据库上)

2.1、创建表

  CREATE TABLE IF NOT EXISTS [`tableName`] (`columnName` columnType PRIMARY KEY/...) CHARSET UTF8;

  PRIMARY KEY:设置字段为主键;

  AUTO_INCREMENT:自增;

  NOT NUL:字段数据不为NULL,否则报错;

  CHARSET:设置编码格式。

2.2、列出表

  SHOW TABLES;

2.3、查询数据表字段信息

  SHOW COLUMNS FROM [tableName];

2.4、查询数据表的详细索引信息

  SHOW INDEX FROM [tableName];

2.5、查询管理系统的性能及统计信息

  SHOW TABLE STATUS FROM [database] LIKE  '**%'\G;

  **%:以什么开头;

  \G:按列显示。

2.6、删除数据表

  DROP TABLE [tableName];

2.7、修改表见4.9

3、数据操作(增删改查)

3.1、插入数据

  INSERT INTO [tableName] (key1, key2) VALUES (val1, val2);

  

3.2、删除数据

  DELETE FROM [tableName] condition;

  condition:WHERE id=1 / ...

3.3、修改更新数据

  UPDATE [tableName] SET key1=val1, key2=val2 condition;

  

3.4、查询数据

  SELECT */(key1, key2) FROM [tableName];

  *:查全部;

  key1, key2:想要查询的字段。

4、子句(配合增删改查等操作)

4.1、WHERE

  AND:与条件

  eg:SELECT */(key1, key2) FROM [tableName] WHERE id=1 AND name='newname';

  

  OR:或条件

  eg:SELECT */(key1, key2) FROM [tableName] WHERE id=2 OR name='newname';

  

4.2、LIKE % —— 可以模糊查询

  表中有以下数据:

  

  无%:精确查询:

  

  %**在前:已**结尾:SELECT * FROM [tableName] WHERE key LIKE '%val';

  

  **%在后:已**开头:SELECT * FROM [tableName] WHERE key LIKE 'val%';

  

  %**%:包含**:SELECT * FROM [tableName] WHERE key LIKE '%val%';

  

4.3、UNION ALL/DISTINCT —— 得到两个以上select语句结果的集合

  有以下两表:

  

  ALL:不去重

  

  DISTINCT:去重

  

4.4、ORDER BY key ASC/DESC —— asc升序,desc降序

4.5、GROUP BY —— 分组统计

  

  SELECT name COUNT(*)/SUM(key)/AVG(key) AS newName FROM [tableName] GROUP BY name WITH ROLLUP;(分组统计name的个数以字段newName显示统计个数)

  

4.6、JOIN —— 连接

  有以下两表:

  

  INNER JOIN(获取两表匹配关系记录):SELECT a.name, b.count FROM [tableName1] a INNER JOIN [tableName2] b ON a.name=b.name;

  

  相当于语句:SELECT a.name, b.count FROM [tableName1] a, [tableName2] b WHERE a.name=b.name;

  

  LEFT JOIN(左连接 获取左表记录,即使右表没有)

  

  RIGHT JOIN(右连接 获取右表记录,即使左表没有)

  

4.7、NULL

  IS NULL:值为NULL;

  IS NOT NULL:值不为NULL。

4.8、REGEXP —— 正则

  SELECT * FROM [tableName] WHERE name REGEXP 'regexp';

4.9、ALTER —— 增删改字段

  表原结构:

  

  添加一列:ALTER TABLE [tableName] ADD newKey INT/... NOT NULL DEFAULT ‘val‘ FIRST/AFTER key; 添加新字段newKey默认值为val于第一列或key列之后

    FIRST:添加字段到第一列;

    AFTER:添加字段到**字段之后;

    DEFAULT:设置字段默认值。

  

  删除一列:ALTER TABLE [tableName] DROP newKey;

  

  修改一列:ALTER TABLE [tableName] CHANGE key newKey INT/...;

  

  修改表:ALTER TABLE [tableName] RENAME TO [newTableName];

  

                                                                              -------以上如有问题欢迎指出,转载请说明出处

 

mysql数据库快速入门(1)的更多相关文章

  1. MySQL数据库快速入门与应用实战(阶段一)

    MySQL数据库快速入门与应用实战(阶段一) 作者 刘畅 时间 2020-09-02 实验环境说明: 系统:centos7.5 主机名 ip 配置 slavenode3 172.16.1.123 4核 ...

  2. 《MySQL数据库从入门到精通》 高级运维人才的必备书籍

    众所周知,每年就业市场都会迎来千万量级的高校毕业生,然而企业招工难和毕业生就业难的矛盾却一直没有得到很好地解决.究其原因,主要矛盾还是在于传统的学历教育与企业实际需求相脱节.为了杜绝高校毕业生求职时常 ...

  3. MySQL数据库从入门到放弃(目录)

    目录 MySQL数据库从入门到放弃 推荐阅读 MySQL数据库从入门到放弃 193 数据库基础 194 初识MySQL 195 Windows安装MySQL 196 Linux安装MySQL 197 ...

  4. 2. Mysql数据库的入门知识

    2. Mysql数据库的入门知识 (1)打开Windows系统提供的服务查看相应的服务. (2)在Windows任务管理器的进程中查看 (3)使用命令行管理windows的Mysql数据库服务. Ne ...

  5. 01.JDBC操作数据库-快速入门操作

    /** * 简单入门操作 * 注:先将mysql-connector-java-5.1.36.jar 构建 Build Path环境当中去 * @param args * @throws Except ...

  6. mysql数据库简单入门

    1.xampp  跨平台 优点:兼容性高 2. apache(服务器) 著名的集成环境(也叫集成安装包) 功能:一般在网站上运行,优点:稳定 缺点:性能上有瓶颈 nginx 优点:快 3. mysql ...

  7. MySQL数据库快速造大量数据

    这段时间做性能测试,发现数据都是分库写进数据库了,并且要构造大量数据,大概4000万的数据量,用普通的方法,写个MySQL函数,之前测试过,大概200万数据也要跑一个多小时,太慢了. 后面研究发现有个 ...

  8. mysql 的快速入门

    1.数据库的操作 1)查看数据库:show databases; 2)使用数据库:use 数据库名: 3)创建数据库:create database 数据库名: 4)查看创建数据库的sql语句:sho ...

  9. MYSQL数据库快速添加测试数据方法

    先添加两条数据,这里最好添加两条不一样的数据 INSERT INTO "表名"(**, **) VALUES (**,**),(**,**) 然后再次添加数据,这次把查询到的数据添 ...

随机推荐

  1. 《RabbitMQ Tutorial》译文 第 6 章 远程过程调用(RPC)

    原文来自 RabbitMQ 英文官网的教程(6.Remote procedure call - RPC),其示例代码采用了 .NET C# 语言. In the second tutorial we ...

  2. js判断一些时间范围是否有重复时间段

    function isHasRepeatTime(data) { var startTimeArr = []; var endTimeArr = []; (data || []).map(functi ...

  3. 如何正确使用javah

    bogon:src zexu$ javah -jni -classpath /Users/zexu/github/ijkplayer/android/ijkplayer/ijkplayer-java/ ...

  4. C#:将.csv格式文件转换成.xlsx格式文件

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  5. 【bird-front】前端框架介绍

    bird前端项目,基于react.antd.antd-admin,封装常用数据组件,细粒度权限解决方案. bird-front是基于react的后台管理系统前端项目,框架构建部分严重借鉴于antd管理 ...

  6. Python进阶之迭代器和生成器

    可迭代对象 Python中任意的对象,只要它定义了可以返回一个迭代器的__iter__方法,或者定义了可以支持下标索引的__getitem__方法,那么它就是一个可迭代对象.简单来说,可迭代对象就是能 ...

  7. linux下增加磁盘改变指定文件路径分区挂载点和迁移数据

    Centos7 系统上原有目录/data 挂载根目录下,空间有点小,我们需要把/data目录挂载到另一个磁盘,同时把数据迁移. 1.查看分区情况 fdisk -l 2.查看路径对应分区情况 df -l ...

  8. Java中的集合概述

    Java中的集合类有两个重要的分支,分别是接口Collection(包括List,Set等)和接口Map. 由于HashSet的内部实现原理使用了HashMap,所以我们先来了解Map集合类. 1.H ...

  9. MySQL 如何存储长度较大的varchar与blob

    本文同时发表在https://github.com/zhangyachen/zhangyachen.github.io/issues/96 最近,在工作中遇到了MySQL中如何存储长度较长的字段类型问 ...

  10. 绝世emacs配置for Ubuntu

    反正过不了几天就要退役了,把emacs配置放出来造福(祸害)大众? 浓浓的OIER风格,除了方便打代码就没别的用处(F8并不这样认为?),只可惜windows下的弄丢了,只有Ubuntu下的. F1不 ...