MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。

在命令行中启动mysql:

mysql -u root -p

显示所有数据库:

SHOW DATABASES;

选择某个数据库:

USE app_yo;

显示当前数据库下所有的表:

SHOW TABLES;

查看表的列信息:

DESC table_name || SHOW INDEX FROM 数据表:

使用php连接数据库:

<?php
$dbhost = 'localhost:3306'; // mysql服务器主机地址
$dbuser = 'root'; // mysql用户名
$dbpass = '123456'; // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('Could not connect: ' . mysqli_error());
}
echo '数据库连接成功!';
mysqli_close($conn);
?>

使用nodejs连接数据库:

暂时空着,待会加

创建数据库:

CREATE DATABASE 数据库名;

创建数据库:

CREATE TABLE IF NOT EXISTS `runoob_tbl`(
`runoob_id` INT UNSIGNED AUTO_INCREMENT,
`runoob_title` VARCHAR(100) NOT NULL,
`runoob_author` VARCHAR(40) NOT NULL,
`submission_date` DATE,
PRIMARY KEY ( `runoob_id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

删除数据表

DROP TABLE table_name ;

插入数据

INSERT INTO table_name ( field1, field2,...fieldN ) VALUES ( value1, value2,...valueN );

查询数据

SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[LIMIT N][ OFFSET M]

更新数据

UPDATE table_name SET field1=new-value1, field2=new-value2
[WHERE Clause]

删除数据

DELETE FROM table_name [WHERE Clause]

like语句

SELECT * from runoob_tbl  WHERE runoob_author LIKE '%COM';

UNION 语句:用于将不同表中相同列中查询的数据展示出来;(不包括重复数据)

SELECT country FROM Websites
UNION
SELECT country FROM apps
ORDER BY country;

UNION ALL 语句:用于将不同表中相同列中查询的数据展示出来;(包括重复数据)

SELECT country FROM Websites
UNION ALL
SELECT country FROM apps
ORDER BY country;

GROUP BY 语句:

SELECT name, COUNT(*) FROM   employee_tbl GROUP BY name;

JOIN语句,很重要,用来查询多张表的数据:

  • INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录。

    • SELECT a.id,a.name AS '班级名称',b.name AS '年纪名称' FROM `sch_classes` a INNER JOIN `sch_grades` b ON a.`gradeid` = b.`id` WHERE a.`schoolid` =407;
      等价于
      SELECT a.id,a.name AS '班级名称',b.name AS '年纪名称' FROM `sch_classes` a, `sch_grades` b WHERE a.`gradeid` = b.`id` AND a.`schoolid` = 407;
  • LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录。
    • SELECT a.id,a.name AS '班级名称',b.name AS '年纪名称' FROM `sch_classes` a LEFT JOIN `sch_grades` b ON a.`gradeid` = b.`id` WHERE a.`schoolid`;
  • RIGHT JOIN(右连接): 与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录。

NULL的使用

SELECT * FROM runoob_test_tbl WHERE runoob_count IS NULL;

SELECT * from runoob_test_tbl WHERE runoob_count IS NOT NULL;

事务

mysql> begin;  # 开始事务
Query OK, 0 rows affected (0.00 sec) mysql> insert into runoob_transaction_test value(5);
Query OK, 1 rows affected (0.01 sec) mysql> insert into runoob_transaction_test value(6);
Query OK, 1 rows affected (0.00 sec) mysql> commit; # 提交事务
Query OK, 0 rows affected (0.01 sec)

ALTER 命令

插入列: alter table TABLE_NAME add column NEW_COLUMN_NAME varchar(20) not null;

删除,添加或修改表字段

删除:ALTER TABLE testalter_tbl DROP i;
增加:ALTER TABLE testalter_tbl ADD i INT FIRST;
修改:ALTER TABLE `classlist` CHANGE grade age INT;

修改表名

mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;

创建索引

CREATE INDEX suoyinName ON mytable(username(length)); 
 

学习mysql,记录下常用的命令行语句的更多相关文章

  1. ipmi常用的命令行命令

    前言 记录一些常用的命令行操作 命令 查询机器的电源状态 ipmitool -I lanplus -U admin -P admin -H 172.16.21.215 power status 硬重启 ...

  2. flutter之VSCode下Flutter常用终端命令行

    https://www.cnblogs.com/lxlx1798/p/11049922.html 梁飞宇 [Flutter学习]之VSCode下Flutter常用终端命令行 Flutter 常用命令行 ...

  3. DOS下常用网络命令技巧

    DOS,即使对于许多自称了解计算机的人而言,也是一个比较陌生的词汇.然而,在网络管理过程中,DOS命令却是一个不可逾越的障碍,几乎所有的网络命令都运行在DOS界面.对初级用户而言,掌握一些常用网络命令 ...

  4. 十五个最常用Linux命令行 - imsoft.cnblogs

    众多Linux管理员在使用Linux的时候会经常使用到很多Linux命令行,其中有绝大部分不是经常使用到的.在本文中主要为大家总结了经常使用的十五个最常用Linux命令行,希望对刚刚接触Linux命令 ...

  5. 十条常用nmap命令行格式

    十条常用nmap命令行格式 ) 获取远程主机的系统类型及开放端口 nmap -sS -P0 -sV -O <target> 这里的 < target > 可以是单一 IP, 或 ...

  6. linux下常用FTP命令

    linux下常用FTP命令 1. 连接ftp服务器 1. 连接ftp服务器格式:ftp [hostname| ip-address]a)在linux命令行下输入: ftp 192.168.1.1b)服 ...

  7. Vim中常用的命令行

    Vim中常用的命令行... ------------------- 一些真正强大的武器总不是那么容易驾驭的,主角总得付出一些努力才能收获到更加强大的力量,对于 Vim 这种上古神器来说更是如此.由于它 ...

  8. Ubuntu下几个命令行方式使用的图片浏览工具

    想找几个Ubuntu下可以以命令行方式使用的图片浏览工具. Google了一些资料,找到下面几个web: 1.pho:轻巧的命令行图片查看器 其中介绍了工具pho,其功能特点,见下面的转帖内容: ph ...

  9. linux下常用FTP命令 上传下载文件【转】

    1. 连接ftp服务器 格式:ftp [hostname| ip-address]a)在linux命令行下输入: ftp 192.168.1.1 b)服务器询问你用户名和密码,分别输入用户名和相应密码 ...

随机推荐

  1. JAVA 11初体验

    JAVA 11初体验 随着JAVA没半年发布一次新版本,前几天JAVA 11隆重登场.在JAVA 11中,增加了一些新的特性和api, 同时也删除了一些特性和api,还有一些性能和垃圾回收的改进. 作 ...

  2. Unicode,GBK和UTF8

    字符集 在介绍他们之间的区别时, 我们先讲下什么是Unicode. 简单来说,Unicode是一个字符集(character set), 和ASCII一样, 其作用是用一系列数字来表示字符(chara ...

  3. mySQL简单操作(二)

    1.like子句 [where clause like '%com'] '%' '_' 2.正则 3.union操作符 用于连接多个select语句,[distinct]删除重复数据 select c ...

  4. SQL 聚集函数(聚组函数)的使用 注意事项

    原文地址 http://hi.baidu.com/sdunus/blog/item/333c1a29305041fe99250aad.html 在介绍GROUP BY 和 HAVING 子句前,我们必 ...

  5. Tomcat笔记 #01# WEB应用管理工具简介

    索引 查看JVM以及SERVLET/接口的情况 动态管理WEB应用 Tomcat自带了一个基于网页的web应用管理工具,可以帮助我们监控&管理部署上去的WEB APP,特别方便!恰好之前碰到的 ...

  6. Oracle 12c 单实例安装

    准备工作 实验环境:Redhat 6.6   Oracle 12c 12.2.0.1 1.官网下载 https://www.oracle.com/technetwork/database/enterp ...

  7. [c/c++] programming之路(29)、阶段答疑

    一.指针不等于地址 指针不仅有地址,还有类型,是一个存储了地址的变量,可以改变指向:而地址是一个常量 #include<stdio.h> #include<stdlib.h> ...

  8. NOIP 2017 宝藏 - 动态规划

    题目传送门 传送门 题目大意 (家喻户晓的题目不需要题目大意) 设$f_{d, s}$表示当前树的深度为$d$,与第一个打通的点连通的点集为$s$. 每次转移的时候不考虑实际的深度,深度都当做$d$, ...

  9. freeswitch 事件命令

    1.uuid_bridge 桥接两条呼叫的腿. Usage: uuid_bridge <uuid> <other_uuid> uuid_bridge至少需要有一条腿是被呼通的. ...

  10. java四则运算 界面化

    本次作业要求来自:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2232 项目的地址:https://github.com/kdays ...