学习mysql,记录下常用的命令行语句
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,记录下常用的命令行语句的更多相关文章
- ipmi常用的命令行命令
前言 记录一些常用的命令行操作 命令 查询机器的电源状态 ipmitool -I lanplus -U admin -P admin -H 172.16.21.215 power status 硬重启 ...
- flutter之VSCode下Flutter常用终端命令行
https://www.cnblogs.com/lxlx1798/p/11049922.html 梁飞宇 [Flutter学习]之VSCode下Flutter常用终端命令行 Flutter 常用命令行 ...
- DOS下常用网络命令技巧
DOS,即使对于许多自称了解计算机的人而言,也是一个比较陌生的词汇.然而,在网络管理过程中,DOS命令却是一个不可逾越的障碍,几乎所有的网络命令都运行在DOS界面.对初级用户而言,掌握一些常用网络命令 ...
- 十五个最常用Linux命令行 - imsoft.cnblogs
众多Linux管理员在使用Linux的时候会经常使用到很多Linux命令行,其中有绝大部分不是经常使用到的.在本文中主要为大家总结了经常使用的十五个最常用Linux命令行,希望对刚刚接触Linux命令 ...
- 十条常用nmap命令行格式
十条常用nmap命令行格式 ) 获取远程主机的系统类型及开放端口 nmap -sS -P0 -sV -O <target> 这里的 < target > 可以是单一 IP, 或 ...
- linux下常用FTP命令
linux下常用FTP命令 1. 连接ftp服务器 1. 连接ftp服务器格式:ftp [hostname| ip-address]a)在linux命令行下输入: ftp 192.168.1.1b)服 ...
- Vim中常用的命令行
Vim中常用的命令行... ------------------- 一些真正强大的武器总不是那么容易驾驭的,主角总得付出一些努力才能收获到更加强大的力量,对于 Vim 这种上古神器来说更是如此.由于它 ...
- Ubuntu下几个命令行方式使用的图片浏览工具
想找几个Ubuntu下可以以命令行方式使用的图片浏览工具. Google了一些资料,找到下面几个web: 1.pho:轻巧的命令行图片查看器 其中介绍了工具pho,其功能特点,见下面的转帖内容: ph ...
- linux下常用FTP命令 上传下载文件【转】
1. 连接ftp服务器 格式:ftp [hostname| ip-address]a)在linux命令行下输入: ftp 192.168.1.1 b)服务器询问你用户名和密码,分别输入用户名和相应密码 ...
随机推荐
- 【JavaScript】DOM和BOM之我的理解
2018年12月17日 一.我们能够对html文档和浏览器做的操作 (一)html文档 增.删.改.可以在html中增加.删除.改动元素 (二)浏览器 地址栏:输入.修改地址 历史记录:前进.后退.跳 ...
- mac & ip
mac 解决本地网络机器的通信 ip 解决不同网络间主机的通信
- Jmeter之Redis读写
Jmeter之Redis读写 奔跑的小小鱼 关注 0.2 2019.03.21 18:25* 字数 1330 阅读 45评论 0喜欢 1 Jmeter插件访问Redis共有3种方式: 1)通过自已 ...
- 关于Axure RP软件的介绍——软件工程实践第二次个人作业
关于Axure RP软件的介绍——软件工程实践第二次个人作业 Axure RP是一个非常专业的快速原型设计的一个工具,客户提出需求,然后根据需求定义和规格.设计功能和界面的专家能够快速创建应用软件或W ...
- RESTClient 使用
Wisdom RESTClient 一款自动化测试REST API的工具,它可以自动化测试RESTful API并生成精美的测试报告,同时基于测试过的历史API,可以生成精美的RESTful API文 ...
- Ubuntu查看crontab运行日志
Ubuntu服务器/var/log下没有cron日志,这里记录一下如何ubuntu server如何查看crontab日志 crontab记录日志修改rsyslogsudo vim /etc/rsys ...
- @Autowired注入报错
在用 @Autowired 注入多个类时,出现的错误 因为@Autowired 是按照类型注入,当找不到对应类型类时,才会去按照名称去找. 这时添加注解@Qualifier(“service”), ...
- 解决 “MoveFile”: 类型库“XXX.dll”中的标识符已经是宏;使用“rename”限定符 类型库符号与系统符号冲突问题
今天在VS工程当中引入一个组件,编译的时候出现警告, “MoveFile”: 类型库“XXX.dll”中的标识符已经是宏:使用“rename”限定符.虽然只是一个警告,但看着实在不爽,更重要的是,警告 ...
- 关于matplotlib绘制直方图偏移的问题
在使用pyplot绘制直方图的时候我发现了一个问题,在给函数.hist()传参的时候,如果传入的组数不是刚刚好(就是说这个组数如果是使用(最大值-最小值)/组距计算出来,而这个数字不是整除得来而是取整 ...
- 使用ODP.NET连接Oracle数据库
项目需要和第三方进行对接,奇葩的是地方没给提供接口,却提供了一个Oracle的视图 所以有了C#访问Oracle数据库的需求 1.打开nuget,安装驱动 https://www.nuget.org/ ...