测试人员必备之 mysql 常用命令学习指南
1、数据库连接
1、通过命令行连接数据库
[root@localhost ~]# mysql -u root -p
Enter password:
输入以上命令,回车后输入密码,回车,出现 mysql> 命令提示窗口则表示登录成功,可以在mysql>下输入任何sql语句。
2、退出mysql
mysql> exit
Bye
2、创建数据库
语法:CREATE DATABASE <数据库名>;
先连接mysql服务后,再使用sql语句。可以通过命令连接也可以通过客户端工具例如navicat连接,以下创建一个库名为lemon的数据库
mysql> create DATABASE lemon;
3、显示数据库
语法:show databases;
示例:查看mysql服务所有数据库
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| future |
| lemon |
| mysql |
| test |
| test_mysql |
+--------------------+
4、删除数据库
语法:drop database <数据库名>;
drop删除数据库命令谨慎使用,一旦删除,所有数据都没有了。以下示例:删除一个库名为test的数据库。
mysql> drop DATABASE test;
5、选择数据库
语法:use <数据库名>;
示例:选取数据库lemon进行操作。
mysql> use lemon;
Database changed
6、创建表
语法:create table <表名> ( <字段名1> <类型1>,<字段名2> <类型2>, ...,<字段名n> <类型n>);
示例:需要创建一个学员信息表,用于存储学号、姓名、性别、班级、年龄。
create table student(
sno int(8) not null primary key auto_increment comment '学号',
sname varchar(20) NOT NULL comment '姓名',
ssex varchar(4) NOT NULL comment '性别',
sclass int(8) NOT NULL comment '班级',
sage int(4) NOT NULL comment '年龄'
)DEFAULT CHARSET=utf8;
解析:
int为整型,这里学号sno、班级编号sclass设定为整型;
varchar字符型,这里姓名sname、性别ssex、年龄sage设定为字符型;
字段属性设定为not null,表示字段值不允许空;
primary key关键字用于定义列为主键。主键唯一、不重复,一般以编号为主键;
auto_increment定义列属性为自增,一般用于主键,插入数据时数值会自动加1;
comment相当于给列添加备注;
DEFAULT CHARSET 设置编码,utf8对传值中文防止乱码。
7、显示数据表
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| student |
| student1 |
+----------------+
8、查看表结构
mysql> desc student;
+--------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+----------------+
| sno | int(8) | NO | PRI | NULL | auto_increment |
| sname | varchar(20) | NO | | NULL | |
| ssex | varchar(5) | NO | | NULL | |
| sclass | int(8) | NO | | NULL | |
| sage | int(4) | NO | | NULL | |
+--------+-------------+------+-----+---------+----------------+
9、删除表
语法:drop table <表名>;
drop删除表请谨慎操作,因为执行删除命令后该表及包含的数据都会消失。以下示例:删除一个表名为student的数据表。
mysql> drop table student;
10、插入表数据
语法:insert into <表名> ( 字段名1,字段名2,...字段名N)
values
( 值1, 值2,...值N );
示例:
1、往学员信息表中插入一条学员信息
insert into student (sno,sname,ssex,sclass,sage) values (6301,'柠檬','女',20190163,18);
注意:如果数据值为字符型必须用单引号或者双引号括起来。
2、批量插入,插入多条学员信息
insert into student (sname,ssex,sclass,sage)
values
('毛毛','女',20190163,20),('大大','女',20190163,22);
11、修改表数据
语法:update 表名 set 字段名1= 新值1,字段名2=新值2, … where 条件表达式1 and(or) 条件表达式2 …;
示例:修改学员姓名为毛毛的性别为男
update student set ssex = '男' where sname = '毛毛';
12、查询单表数据
语法:select 字段名1,字段名2,… from <表名> where 条件表达式1 and(or) 条件表达式2 … ;
1、查询所有字段列信息
示例:查询student表中,性别女且年龄在20岁以上的学员信息
select * from student where ssex = '女' and sage > 20
2、查询指定字段列信息
示例:查询student表中,性别女或者年龄在20岁以上的学员姓名
select sname from student where ssex = '女' or sage > 20;
3、查询前几行信息
示例:查询student表中,性别女且年龄在20岁以上的前2行学员信息
select sname from student where ssex = '女' and sage > 20 limit 0,2;
13、查询多表关联数据
语法:
1、关联查询:select 字段名1,… from 表名1,表名2,…where 关联条件表达式 and 过滤条件表达式 …;
2、等值连接:select 字段名1,… from 表名1 inner join 表名2 on 关联条件表达式 and 过滤条件表达式… ;
3、左连接:select 字段名1,… from 表名1 left join 表名2 on 关联条件表达式 and 过滤条件表达式… ;
3、右连接:select 字段名1,… from 表名1 right join 表名2 on 关联条件表达式 and 过滤条件表达式… ;
示例:
1、以上左表user表,右表为左表的对象信息user_lover表,查询两表中存在对象关系的信息
SELECT * FROM `user`, user_lover WHERE `user`.id = user_lover.u_id; SELECT * FROM `user`INNER JOIN user_lover on `user`.id = user_lover.u_id;
运行结果:
2、读取左表全部数据,即使右表没有关联数据
SELECT * FROM `user`LEFT JOIN user_lover on `user`.id = user_lover.u_id;
运行结果:
3、以右表为基础,与LEFT JOIN相反
SELECT * FROM `user` RIGHT JOIN user_lover on `user`.id = user_lover.u_id;
运行结果:
14、删除表数据
语法:delete from 表名 where 条件1 and(or) 条件2……;
示例:删除student表中年龄小于18岁的用户信息
delete from student where sage < 18;
15、mysql学习教程
mysql官网:https://dev.mysql.com/doc/
runoob.com:https://www.runoob.com/mysql/
w3cschool:https://www.w3cschool.cn/mysql/
测试人员必备之 mysql 常用命令学习指南的更多相关文章
- MYSQL初级学习笔记一:MYSQL常用命令和数据库操作(DDL)!(视频序号:初级_3,4)
知识点一:MYSQL常用命令(3) 登入方法:一,mysql –u 账号 –p 密码 退出方法:一,EXIT,QUIT 修改MYSQL命令提示符: 连接上客户机之后,通常使用prompt命令修改: 连 ...
- Mysql常用命令 详细整理版
Mysql常用命令 show databases; 显示数据库 create database name; 创建数据库 use databasename; 选择数据库 drop database na ...
- MySql常用命令集
MySql 常用命令集 Mysql常用命令 show databases; 显示数据库 create database name; 创建数据库 use databasename; 选择数据库 drop ...
- MYSQL常用命令集合(转载)
文章出处:http://www.cnblogs.com/q1ng/p/4474501.html 1.导出整个数据库mysqldump -u 用户名 -p --default-character-set ...
- MYSQL常用命令集合
1.导出整个数据库 mysqldump -u 用户名 -p --default-character-set=latin1 数据库名 > 导出的文件名(数据库默认编码是latin1) mysqld ...
- MySQL 常用命令大全
Mysql常用命令行大全 第一招.mysql服务的启动和停止 net stop mysql net start mysql 第二招.登陆mysql 语法如下: mysql -u用户名 -p用户密码 键 ...
- MySql常用命令集Mysql常用命令5
九. 交叉查询 交叉查询可以对数据进行总和,平均,计数或其他总和计算法的计算,这些数据通过 两种信息进行分组:一个显示在表的左部,另一个显示在表的顶部. Microsoft Jet SQL 用TRAN ...
- (转)Mysql常用命令行
原文:http://www.cnblogs.com/TsengYuen/archive/2012/01/11/2319034.html Mysql常用命令行 Mysql经常使用号令行大全 熬头招.my ...
- MYSQL常用命令(转载)
1.导出整个数据库 mysqldump -u 用户名 -p --default-character-set=latin1 数据库名 > 导出的文件名(数据库默认编码是latin1)mysqldu ...
随机推荐
- MyEclispe启动Tomcat7时出现错误The servlets named [LoginServlet] and [com.liu.control.LoginServlet] are both
刚开始尝试写Servlet代码,第一天就碰到这个错误,在网上找了很多资料才找到解决办法,在此记录一下. org.apache.catalina.LifecycleException: Failed t ...
- Hibernate注解之@Enumerated:针对枚举enum(转)
https://my.oschina.net/xinxingegeya/blog/359968 @Column(name = "store_type", nullable = fa ...
- 十、Spring boot 简单优雅的整合 Swagger2
前言 swagger2 是什么,我这里就不说了,就是一个简单的接口文档,方便前后端联调. 其实之前没有想要到要使用swagger 的.因为我之前用的是YAPI ,不过这个是一个单独的工具.并且是开源的 ...
- 【Python成长之路】装逼的一行代码:快速共享文件【华为云分享】
[写在前面] 有时候会与同事共享文件,正常人的操作是鼠标右键,点击共享.其实有个装逼的方法,用python的一行代码快速实现基于http服务的共享方式. [效果如下] [示例代码] 在cmd窗口进入想 ...
- 大规模机器学习在LinkedIn预测模型中的应用实践
预测模型在 LinkedIn 的产品中被广泛应用,如 Feed.广告.工作推荐.邮件营销.用户搜索等.这些模型在提升用户体验时起到了重要的作用.为了满足建模需求,LinkedIn 开发并且开源了 Ph ...
- CocoaPods 详解之----更新篇
CocoaPods 大概是 2011 年出现的开源组件管理工具(目前已支持 Objective-C 和 Swift),近年来普及率越来越高,几乎已是所有 Cocoa 开源项目的标配.另外,很多大点的团 ...
- mac 开关机
last | grep reboot (查看开机时间记录) last | grep shutdown (查看关机时间记录)
- 微信小程序 buton清除默认样式
相信很多小伙伴在开发小程序的时候都会碰到小程序Button默认样式的困扰,在重设样式的时候需要一次次的设置 分享一个自己在开发中的小方法: CSS all 简写属性 将除 unicode-bidi 与 ...
- 【Python必学】Python爬虫反爬策略你肯定不会吧?
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 正文 Python爬虫反爬策略三部曲,拥有这三步曲就可以在爬虫界立足了: ...
- springboot搭建一个简单的websocket的实时推送应用
说一下实用springboot搭建一个简单的websocket 的实时推送应用 websocket是什么 WebSocket是一种在单个TCP连接上进行全双工通信的协议 我们以前用的http协议只能单 ...