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. Django JWT

    概述 如果各位不了解 JWT,不要紧张,它并不可怕. JSON Web Token(JWT)是一个非常轻巧的规范.这个规范允许我们使用JWT在用户和服务器之间传递安全可靠的信息. 让我们来假想一下一个 ...

  2. 自动化部署脚本--linux执行sh脚本

    自动化部署脚本文件目录: 运行主程序:./install.sh #!/bin/bash SCRIPTPATH=$(cd "$(dirname "$0")"; p ...

  3. 第六周学习总结&第四次实验报告

    第六周学习总结&第四次实验报告 学习总结 这周我们简单的学习了一点点关于接口的内容,接口是Java中最重要的概念之一,接口可以理解为一个特殊的类, 里面由全局常量和公共的抽象方法组成,接口摆脱 ...

  4. What is the most efficient way to deep clone an object in JavaScript?

    What is the most efficient way to deep clone an object in JavaScript? Reliable cloning using a libra ...

  5. 使用DBLink方式同步远程数据库中含Blob、Clob字段表的问题解决

    在数据库同步中我们经常会用到DBLink方式.DBLink可以将物理上存放于网络的多个数据库在逻辑上当成一个单一的大数据库.开发人员无需关心数据库的网络分布,就能很方便的实现从不同数据库之间读取数据. ...

  6. 清明 DAY 4

    ~~~~~zhx并没有讲完~~~~~~QAQ~~~~~~ (其实并没有更完)

  7. 转 实例详解Django的 select_related 和 prefetch_related 函数对 QuerySet 查询的优化(三)

    这是本系列的最后一篇,主要是select_related() 和 prefetch_related() 的最佳实践. 第一篇在这里 讲例子和select_related() 第二篇在这里 讲prefe ...

  8. emqtt 系统主题

    $SYS-系统主题 EMQ 消息服务器周期性发布自身运行状态.MQTT 协议统计.客户端上下线状态到 $SYS/ 开头系统主题. $SYS 主题路径以 “$SYS/brokers/{node}/” 开 ...

  9. 本地虚拟机部署线上php程序---不需要修改数据库信息

    1.特别注意:拿来线上php程序后一般是不需要修改config.php里面的数据库连接信息的,如果修改了会报错:站点已关闭.所以 2.5 步骤是需要省略的.如果拿来的是最开始的php源码,需要配置原始 ...

  10. flex布局使用方法简要汇总

    近期因为使用inline-block,在项目部署后出现了一点小问题,几番解决未果,遂使用flex布局,于是借此机会对flex布局的用法做一个简要的汇总. 遇到的bug如下: 本想两个div使用inli ...