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 常用命令学习指南的更多相关文章

  1. MYSQL初级学习笔记一:MYSQL常用命令和数据库操作(DDL)!(视频序号:初级_3,4)

    知识点一:MYSQL常用命令(3) 登入方法:一,mysql –u 账号 –p 密码 退出方法:一,EXIT,QUIT 修改MYSQL命令提示符: 连接上客户机之后,通常使用prompt命令修改: 连 ...

  2. Mysql常用命令 详细整理版

    Mysql常用命令 show databases; 显示数据库 create database name; 创建数据库 use databasename; 选择数据库 drop database na ...

  3. MySql常用命令集

    MySql 常用命令集 Mysql常用命令 show databases; 显示数据库 create database name; 创建数据库 use databasename; 选择数据库 drop ...

  4. MYSQL常用命令集合(转载)

    文章出处:http://www.cnblogs.com/q1ng/p/4474501.html 1.导出整个数据库mysqldump -u 用户名 -p --default-character-set ...

  5. MYSQL常用命令集合

    1.导出整个数据库 mysqldump -u 用户名 -p --default-character-set=latin1 数据库名 > 导出的文件名(数据库默认编码是latin1) mysqld ...

  6. MySQL 常用命令大全

    Mysql常用命令行大全 第一招.mysql服务的启动和停止 net stop mysql net start mysql 第二招.登陆mysql 语法如下: mysql -u用户名 -p用户密码 键 ...

  7. MySql常用命令集Mysql常用命令5

    九. 交叉查询 交叉查询可以对数据进行总和,平均,计数或其他总和计算法的计算,这些数据通过 两种信息进行分组:一个显示在表的左部,另一个显示在表的顶部. Microsoft Jet SQL 用TRAN ...

  8. (转)Mysql常用命令行

    原文:http://www.cnblogs.com/TsengYuen/archive/2012/01/11/2319034.html Mysql常用命令行 Mysql经常使用号令行大全 熬头招.my ...

  9. MYSQL常用命令(转载)

    1.导出整个数据库 mysqldump -u 用户名 -p --default-character-set=latin1 数据库名 > 导出的文件名(数据库默认编码是latin1)mysqldu ...

随机推荐

  1. TensorFlow2.0

    安装开发环境 1.首先安装 anaconda(https://www.anaconda.com/) 2.修改anaconda的镜像源 conda config --add channels https ...

  2. IDEA的控制台拖拽出来之后,如何恢复?

    大家搜到这个的时候,肯定遇到了如下图展示的尴尬情况,我们的控制台在不小心之间被拖拽出来,然后不知如何再拖回去?放心,我来告诉你怎么办. 点击左下角的  恢复按钮 就可以了.

  3. 挑战10个最难的Java面试题(附答案)【上】【华为云技术分享】

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/devcloud/article/deta ...

  4. windows7 上安装python3.8步骤

    今天给小白们写一个在windows7 上安装python3.8的过程. 1.先到https://www.python.org/downloads/官网下载最新版的python, 不要到别的下载网站去下 ...

  5. Unity 3D中C#的性能优化小陷阱

    本篇内容主要来自Unity官方手册: 一般性能优化 一些地方为本人瞎编杜撰,请酌情参考.如有错误,欢迎指出. Unity里C#编程虽然既简单还很爽,但是性能小陷阱还不少.我总强迫自己让代码最优,因此很 ...

  6. 一道Java程序输出题(继承-重载-覆盖-向上转型的问题)

    class A { public String show(D obj) { // func1 return ("A and D"); } public String show(A ...

  7. react-native 相对项目路径导入组件 ___ babel-plugin-module-resolver

    babel-plugin-module-resolver 是一个Babel模块解析插件, 在.babelrc中可以配置模块的导入搜索路径. 为模块添加一个新的解析器.这个插件允许你添加新的" ...

  8. Thymeleaf的语法详解

    字符串操作,日期转换 <span th:text="hello"></span><hr/> <span th:text="${m ...

  9. java的传参究竟是按值传递的还是按引用传递的

    这里来弄清楚Java的传参究竟是按值传递的还是按引用传递的. 形参和实参 传参的概念里,有形参和实参的区分.形参是定义方法名和方法体的时候使用的参数,目的是用来接收调用该方法的时候传入的参数:实参是调 ...

  10. 笔记||Python3之文件的读写

    [文件的读模式]            文件的对象:文件的读写通过文件操作对象进行. Python2  -----  File Python3  -----  TextIOWrapper       ...