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环境下安装virtualenv,virtualenvwrapper

    在使用 Python 开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的库的问题: 亦或者是在开发过程中不想让物理环境里充斥各种各样的库,引发未来的依赖灾难. 此时,我们需要对于不同的工程使用 ...

  2. C++入门经典-例4.8-同名的全局变量和局部变量

    1:代码如下: // 4.8.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> using ...

  3. win7环境下mongodb分片和移除

    本文主要介绍在一台win7电脑上模拟mongo分片.如果有多台服务器,可以将每个mongo部署在单台电脑上.我们将配置3个mongo分片,3个配置服务器,1个路由服务器.如下图所示进行配置,介绍如何增 ...

  4. HearthBuddy 第一次调试

    HearthBuddy https://www.jiligame.com/70639.html 解压缩包,打开hearthbuddy.exe直接运行就可以:不用替换mono.dll直接可用:不需要校验 ...

  5. vue-微信浏览器左上角返回按钮拦截

    [需求] 在微信公众号开发中,有时需要对浏览器左上角返回按钮进行拦截处理相关的页面逻辑,而并不是让页面直接返回上一页,之前在这个细节点上的一直实现得不是很好.但看到京东购物公众号上的效果却实现得非常好 ...

  6. python3使用ltp语言云

    text="我爱自然语言处理." text=str(text) #text=urllib.quote(text) text=urllib.parse.quote(text) def ...

  7. Windows监控——性能指标详解(转)

    http://blog.csdn.net/yiqin3399/article/details/51730106

  8. VirtualBox上Centos7磁盘扩容

    VirtualBox上Centos7磁盘扩容 非常实用 点击直达

  9. windows7解决无法桌面远程

    正常设置远程连接一般需要下面几个设置: 1).查询并记录远程计算机的IP,开始——运行——输入cmd,回车,在cmd界面输入ipconfig/all 回车查看IPv4地址 2).被远程的电脑设置一个用 ...

  10. 52N皇后II

    题目:给定一个整数 n,返回 n 皇后不同的解决方案的数量. 来源:https://leetcode-cn.com/problems/n-queens-ii/ 法一: 自己的代码  时间超过百分之90 ...