1、链接数据库的命令---mysql-u root-p 回车,输入密码//在cmd上输入自己的账号密码

2、查看:show databases;

3、创建数据库:create +database+数据库名称+;

4、删除数据库:drop +detabase+数据库名称

5、使用数据库:use +数据库名称

6、查看多张表:show tables

7、*代表所有
8、也可以查看部分select 属性,属性 from 表名

9、查看表格内数据:select +*+from+表格名称

10、删除表格:drop table +表格名称

11、修改表格:update+table+表格名称+

12、创建表:create+table+表名+(属性名 数据类型+,+属性名 数据类型){字符串的数据类型varchar(长度)}

13、删除表格内一行数据:delete +from+表名(这样会删除所有)
14、加条件的:delete +from+表名+where+id=2(条件);

15、update+表名+set+属性名=’新的名称(修改以后的值)‘,+属性名=’新的属性名‘{都修改}
update+表名+set+属性名=’新的名称(修改以后的值)‘,+属性名=’新的属性名‘+where +id=1(一个属性)

16、查看表格详细结构:show create table + 表名

17、查看表格基本结构:desc+表名

18、修改表名  :语法:alter table+表名+rename+新表名
例子:alter table test2 rename aaaaa

19、修改字段,修改属性  :语法:alter table +表名+change+属性名+新的属性名+新的数据类型
例子: alter table test2 change code id int;

20、

增加字段,增加属性
语法:alter table +表名+add+属性名+数据类型
例子:alter table test2 add age int;

21、删除字段  :     语法:alter table +表名+drop+字段名称
例子:alter table test2 drop age;

22、最大值max():例子:select max(age) from student ;[可以查询,但是不知道是谁]
select * ,max(age) from student;[*号不可以放在max后,会报错]这种写法不会报错但是信息是乱的,需要整合一下
正确写法:使用子查询
第二步select * from student where age=第三步加括号(
第一步select max(age) from student );
23、子查询:将一条sql语句的查询结果作为另一条语句的查询条件:
先写出查询结果后将其作为条件
例子:第二步select * from student where age=第三步加括号(
第一步select max(age) from student );

24、
连接查询/多表查询
产生原因,因为数据内有多条重复,例如class中有一年级,二年级,三年级,等等
所以将其重新建立一个表
例子:建立一个class表有id属性,student中有class属性,student.class=class.id
select *from student ,class where student.class=class.id

25、笛卡儿积现象:数据显示时不准确,会比原来的数据多几倍的样子:

例子:select * from student , class;//会出现笛卡儿积现象
解决方法:select* from student , class where student.class = class.id;

26、内连接查询:select * from 表名+ inner join +表名+on 两张表的关联关系
查询多张表的,无主次表之分,放前放后无关

例子:select * from student inner join class on student.class=class.id;
如果两张表没有重复关系的话可以将后面的表明省略
select * from student inner join class on class="id";

27、左外联查询
特点:以左侧的表为主表,有主次之分
公式:select * from 主表 left join 次表 on 两表之间的关系

例子: select * from student s left join class c on s.class=c.id;

28、右外联查询
特点:以右侧的表为主表,有主次之分
公式:select* from 次表right join 主表 on 两表之间的关系

例子:select * from student s right join class c on s.class=c.id

29、
分页查询关键字limit 起始行数 【从0开始】+每页显示个数(单位)
计算起始数公式(当前页-1)*分页单位

例子:select * from student limit 6,3;
在这里也可以不用函数求出最大最小值,因为排序可以从大到小或从小到大
取第一条数据
select * from student order by age desc limit 0,1;取最大值

30、分组条件关键字having
位置加在分组的后面group by后

例子:select count (*)from student group by class having class='2'
统计的是class=1的有多少人

31、
条件查询/模糊查询关键字like

select * from student where name like 'aaaa';
也可以加%表示0-多个字符下划线_相当于占位符

例子:select * from student where name like'_s'___;一个下划线表示一个字符
select * from student where name like '%s'%

32、开始一个事务Begin或者 start transaction

33、事务回滚Rollback

事务确认Commit

自动提交

手动提交

SET AUTOCOMMIT=0 禁止自动提交
SET AUTOCOMMIT=1 开启自动提交
默认自动提交

34、索引
选择索引的数据类型:也就是加在哪个列上合适
选择标识符
应用
索引的类型1,单列索引
主键索引
唯一索引
普通索引
修改语句时,在操作带有索引的列时,所消耗的时间会很长,
当你需要查询操作多,并且数据量较多时,应该考虑加索引
如果你的需求是更新和添加较多,这种情况不加索引 ,但是如果你的索引不加在要修改的语句上,而是加在其他不进行操作列上,也会适当降低时间

索引的类型2,组合索引

全文索引

35、索引的类型1,单列索引
主键索引
唯一索引
普通索引
修改语句时,在操作带有索引的列时,所消耗的时间会很长,
当你需要查询操作多,并且数据量较多时,应该考虑加索引
如果你的需求是更新和添加较多,这种情况不加索引 ,但是如果你的索引不加在要修改的语句上,而是加在其他不进行操作列上,也会适当降低时间

36、
引擎的类型

ISAM(MySQL最原始的引擎,使用较少)
MyISAM(以前默认使用该引擎)不支持外键
MyISAM适合:
(1)做很多count 的计算;
(2)插入不频繁,查询非常频繁;
(3)没有事务。

HEAP(存储数据以缓存的形式进行存储)
InnoDB(目前版本默认使用该引擎)
InnoDB适合:
(1)可靠性要求比较高,或者要求事务;
(2)表更新和查询都相当的频繁

37、修改引擎
创建表格时:
create table  tableName(id int,name varchar(20),age int) type = 数据库引擎

表格修改:
alter    table   tableName engine=数据库引擎
alter table student engine myisam;等号有无都可

38、查看引擎
show create table tableName;
在可视化工具里在选项里切换引擎但是不保存,之后在可视化工具里sql预览看怎么写

39、如何创建
MySQL存储过程创建的格式:
CREATE  PROCEDURE 过程名 ([过程参数[,...]])
[特性 ...] 过程体 
例子:
 CREATE PROCEDURE proc1()
         BEGIN
               SELECT COUNT(*) INTO s FROM user;【一定要加;要不然会和end一起调用】
         END 
例子:
create  procedure test()
begin
select * from user_tb;
end

40、如何调用
调用存储过程:
call  存储过程名称(参数)
例子:call test();

41、如何删除
删除存储过程:
drop PROCEDURE  存储过程名称
例子:
drop procedure test;

42、存储过程参数
创建带有输入参数的存储过程
create procedure test2 (in id int)
begin
select * from user_tb where user_tb.id = id;
end
调用
call test2(2);
带有输出参数的存储过程
create procedure test3(out name varchar(20))
begin
select * from user_tb where id=0;
end
创建带有输入输出参数的过程
create procedure getNameByid(inout idname varchar(20))
begin
select user_name into idname from user_tb where id=idname;
end
调用
call getNameByid(?);
例二
create procedure test4(inout name varchar(20))
begin
select user_name into name from user_tb where user_name = name;
select name,'你好'
end
drop procedure test4
set @name='admin';
call test4(@name);

43、存储过程流程控制
then就相当于eclipse中{}
exists是否存在。是否为空

endif 是if语句结束语句
while 中do后就是循环体{}
while流程控制
create procedure test(num int)
begin
while num<10 do
select num;[输出]
set num = num+1;
end while;
end
call test (6);

44、存储过程通道
con.propareCall("call 存储过程名称");

45、连接数据库
基本步骤:

准备链接数据库参数 链接数据库参数,账号和密码
数据库地址url
* 加载驱动private static String driver="com.mysql.jdbc.Driver";
Class.forName(driver);
* 获得数据库连接2种
* 1获得自动提交事务的链接
con = DriverManager.getConnection(url, username, password);
* 创建状态通道
sta = con.createStatement();
* 基于状态通道的查询
rs = sta.executeQuery(sql);
* 基于状态通道的修改
* 创建预装他态通道
psta = con.prepareStatement(sql);//sql不完整,通过参数传
* 基于预状态通道的查询
* 基于预状态通道的修改
* 2.获得手动提交事务的的链接
con.setAutoCommit(false);
*创建状态通道
*基于状态通道的查询
*基于状态通道的修改
*创建预状态通道
*基于预状态通道的查询
*基于预状态通道的修改
*提交事务的方法
*回滚事务的方法
*关闭资源
链接数据库步骤:
1.找到mysql架包
2.在项目中创建一个文件夹将架包复制进去
3.对复制进去的架包进行构建路径
使用jdbc开发数据库应用程序
Driver
Connection
Statement
ResultSet
Statement
ResultSet
Connection
Statement
ResultSet
Statement
ResultSet
Jdbc应用程序使用Driver接口加载一个合适的驱动程序,使用Connection接口连接到数据库,使用Statement接口创建和执行sql语句,如果语句返回结果,那么使用ResultSet接口处理结果,注意,有一些语句不返回结果,例如,sql数据定义语句和sql数据修改语句
访问数据库的类型java程序主要采用下列步骤
1)加载驱动程序
在连接数据库之前,必须使用下面的语句,加载一个合适的驱动程序
class.forName("jdbcDriverClass")驱动程序是一个实现接口java.sql.Driver
2)建立连接
为了连接到一个数据库,需要使用DriverManage类中的静态方法getConnection
Connection connection = Drevermanage.getConnection(databaseurl)
其中databaseURL是数据库在Internet上的唯一标识符
jdbc:mysql://localhost:3306/test
3)创建语句
如果把Connection对象想象成一条连接程序和数据库的缆道,那么Statement的对象可以看做一辆缆车,他为数据库传输sql语句用于执行,并把运行结果返回程序,一旦创建了connection对象就可以创建执行sql语句的语句,
Statement statement = connection.createStatement()
4)执行语句
可以使用方法executeUpdate(String sql)来执行更新语句
可以使用方法executeQurey(String sql)来执行查询语句
5)处理ResultSet
结果集ResultSet维护一个表,该表的当前行可以获得,当前行的初始位置是null。可以使用next方法移动到下一行,可以使用各种getter方法从当前行获取值,例如,下面给出的代码显示前面sql查询的所有结果
while(resultSet.next())
system.out.println(resultSet.getString(1)+""+resultSet.getString(2)+""+resultSet.getString(3));
第一次执行next()方法时将当前行设置为结果集中的第一行,接着再调用next()方法将当前行设置为第二行,然后是第三行,以此类推,直至最后一行

一个Java交流平台分享给你们,让你在实践中积累经验掌握原理。如果你想拿高薪,想突破瓶颈,想跟别人竞争能取得优势的,想进BAT但是有担心面试不过的,可以加我的Java学习交流群:642830685

注:加群要求

1、大学学习的是Java相关专业,毕业后面试受挫,找不到对口工作

2、在公司待久了,现在过得很安逸,但跳槽时面试碰壁。需要在短时间内进修、跳槽拿高薪的

3、参加过线下培训后,知识点掌握不够深刻,就业困难,想继续深造

4、已经在Java相关部门上班的在职人员,对自身职业规划不清晰,混日子的

5、有一定的C语言基础,接触过java开发,想转行的

Mysql数据库中的输入命令各类知识总结的更多相关文章

  1. MySQL数据库中delimiter的作用概述

    以下的文章主要是向大家描述的是MySQL数据库中delimiter的作用是什么?我们一般都认为这个命令和存储过程关系不大,到底是不是这样的呢?以下的文章将会给你相关的知识,望你会有所收获. 其实就是告 ...

  2. Python爬取招聘信息,并且存储到MySQL数据库中

    前面一篇文章主要讲述,如何通过Python爬取招聘信息,且爬取的日期为前一天的,同时将爬取的内容保存到数据库中:这篇文章主要讲述如何将python文件压缩成exe可执行文件,供后面的操作. 这系列文章 ...

  3. MySQl数据库常用的DOS命令

    MySQl数据库常用的DOS命令.. 这是第一部分.. 数据库的连接信息:jdbc:mysql://localhost:3306/shxtcom.mysql.jdbc.Driver /*jdbc:sq ...

  4. 初识MySQL数据库的各种CMD命令窗口下的指令

    今天我们就来看一下数据库的各种命令,以下命令全部是从CMD命令窗口下的命令行输入指令,首先如果如果输入mysql,系统提示"mysql不是内部命令或外部命令.那么这其实是环境变量没有设置好的 ...

  5. windows下数据库文件使用脚本同步到linux下的mysql数据库中

    1.背景 windows server 2008 下 每天会有 *.sql数据文件 需要上传到linux 中的mysql数据库中 而运维人员是在 windows server 下使用 xshell 连 ...

  6. MySQL数据库中.SQL文件的导出方式

    转自:http://tech.watchstor.com/management-117401.htm 在MySQL数据库中导入SQL文件是件很麻烦的事情,但是这是一项大家非常值得学习的技术,本文就从最 ...

  7. 安装mysql数据库中的技巧、错误排查

    针对解压版本5.7.16(博主使用的这个版本.在某些低版本中部分命令失效) 一.安装.初始化data目录(解压版解压后没有data目录) 安装:配置path环境变量,然后管理员运行命令提示符cmd   ...

  8. Java程序向MySql数据库中插入的中文数据变成了问号

    找到mysql的安装目录,修改my.ini文件 (1)如何找到my.ini文件 如果my.ini文件不在MySQL的安装目录下,可能放在隐藏目录,要先去找到ProgramData,(这里要先打开显示隐 ...

  9. PHP往mysql数据库中写入中文失败

    该类问题解决办法就是 在建立数据库连接之后,将该连接的编码方式改为中文. 代码如下: $linkID=@mysql_connect("localhost","root&q ...

随机推荐

  1. python学习之路(9)

    函数的参数 定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了.对于函数的调用者来说,只需要知道如何传递正确的参数,以及函数将返回什么样的值就够了,函数内部的复杂逻辑被封装起来,调 ...

  2. 论文阅读Graph Convolutional Matrix Completion

    摘要:我们从链路预测的视角考虑推荐系统的matrix completion.像电影评分的交互数据可以表示为一个user-item的二分图,其中的edge表示观测到的评分.这种表示是特别有用的在额外的基 ...

  3. TensorFlow写的神经网络不work的原因

    for epoch in range(training_steps): with tf.Session() as sess: sess.run(tf.global_variable_initializ ...

  4. VS2015 ASP.NET MVC5 EntityFramework6 Oracle 环境篇

    //来源:https://www.cnblogs.com/lauer0246/articles/9576940.html Asp.Net MVC EF各版本区别 2009年發行ASP.NET MVC ...

  5. MyBatis中的JdbcType映射介绍

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

  6. webdriver驱动火狐浏览器报错:Unable to find a matching set of capabilities

    raise exception_class(message, screen, stacktrace)selenium.common.exceptions.SessionNotCreatedExcept ...

  7. vue指令之v-cloak

    vue指令之v-cloak 一起学 vue指令 v-cloak  指令可看作标签属性 某些情况下可能由于机器性能故障或者网络原因,导致传输有问题,那么浏览器无法成功解析数据,此时浏览器输出的内容就是纯 ...

  8. Let a mthod in RestControl return a json string

    The get method of EmpControl package com.hy.empcloud; import java.util.List; import org.springframew ...

  9. How to solve the error "Field service in com.xx.xxx.xxxx required a bean of type 'com.aa.bb.cc' that could not be found."

    When runung a SpringBoot demo, I  got a error as following: *************************** APPLICATION ...

  10. C# 防火墙操作之启用与关闭

    通过代码操作防火墙的方式有两种:一是代码操作修改注册表启用或关闭防火墙:二是直接操作防火墙对象来启用或关闭防火墙.不论哪一种方式,都需要使用管理员权限,所以操作前需要判断程序是否具有管理员权限. 1. ...