MySQL的常规操作,一个非常标准的连接Mysql数据库

作者: 数据库信息  发布:2019-07-26
  • 相比较运算符:=、 >、 <、 >=、 <=、 !=、 <>

  • 壮小运算符:is null、 is not null、 like、 in、 between

  • 逻辑运算符:and、 or

  • 函数:count、sum、avg、max、min

  • 排序:order by

  • 分组:group by

style="font-family: SimSun; font-size: 18px; color: #3333ff;">更新部分数据

update table_name set StuName = "易建联" where StuID = 1;

style="font-family: SimSun; font-size: 18px;">图片 1

style="font-family: SimSun; font-size: 18px; color: #3333ff;">更新整列的值

update table_name set Telephone= Telephone 1;

style="font-family: SimSun; font-size: 18px;">图片 2

一.About Mysql

图片 3

打字与印刷那几个表中全数的id,name,但是那个name对应的id至少有二回出现在manager_id中(假使把id看成职员和工人编号,manager_id看成职员和工人上司的id号,那么请打字与印刷全数的管理层)。

select distinct z.id,z.name from zilianjie z,zilianjie j where j.manager_id=z.id;

 

超连接查询

style="font-size: 18px; color: #ffff33; background-color: #ff0000;">语法:

里面连接:select 属性1,属性2....... from 表1 inner join 表2 on 表1.属性 = 表2.属性

左连接: select属性1,属性2....... from 表1 left join 表2 on 表1.属性 = 表2.属性

右连接 : select 属性1,属性2....... from 表1 left join 表2 on 表1.属性 = 表2.属性

当中连接

inner join 情势的连天称为内部连接,也得以写为join。内部连接表示除非知足条件的笔录才会议及展览示到查询结果中

select * from student_info inner join test_table on student_info.StuID = test_table.test_StuID;

其一讲话等价于select * from student_info,test_table where(student_info.StuID =test_table.test_StuID);

style="background-color: #ffffff;">图片 4

style="background-color: #ffffff;">图片 5

 

 

左连接

left join 形式的连天称为左连接。查询结果蕴含join侧面表中的富有记录以及侧边表满意条件的记录

右连接

right join 格局的连接称为右连接。查询结果富含join侧边表中的装有记录以及侧边电子表中知足条件的笔录

并运算查询

语法

union表示并运算

style="background-color: #ff0000; color: #ffff33; font-size: 18px; font-family: SimSun;">实例

style="background-color: #ffffff;">将七个表中满意条件的数码呈现

select StuID,StuName,Telephone from student_info where StuName = "第2个称呼"

union

select test_StuID,test_Name from test_table where test_StuID= 4;

style="background-color: #ffffff;">图片 6

style="font-family: SimSun; font-size: 18px; color: #ff9966;">注:这里八个表要求查询出来的本性数据要一致,不然就能够并发“ECR-VRO宝马X31222 (21000): The used SELECT statements have a different number of columns”的谬误。

6.where 条件

1,DCL(Database Control Language) :数据调节语言,首要由grant和revoke关键字组合。

7.操作数据 

 

  • 不区分轻重缓急写

  • 以分行结尾

  • 注释:

select * from Student_info order byStuID,StuName desc;

4.sql语句

诚如的话,事务是必须满意4个尺码(ACID):Atomicity(原子性)、Consistency(稳定性)、Isolation(隔断性)、Durability(可相信性)

  • #注释内容直到行尾

  • --注释内容直到行尾

  • /*注释内容*/

5.推行境遇

  • Linux:mysql shell

  • Windows:Command Line Client

  • 可视化学工业具的SQL 编辑器

 

style="font-family: SimSun; font-size: 18px; color: #3333ff;">更改表

style="font-family: SimSun; font-size: 18px; color: #ffff00; background-color: #ff0000;">在表中追加贰个特性

alter table 表 add column 属性 数据类型 [列的完整性];

style="background-color: #ff0000; color: #ffcc00; font-family: SimSun; font-size: 18px;">改造表中有些属性

alter table 表 change 属性 属性 数据类型 [列的完整性];

alter table 表 modify 属性 数据类型 [列的完整性];

style="font-family: SimSun; font-size: 18px;">注:change能够改造属性名称,可是modify只好在原先的性质上进行修改。

style="background-color: #ff0000; color: #ffff00; font-family: SimSun; font-size: 18px;">撤消表中的有些属性

alter table 表 drop 属性;

style="background-color: #ff0000; color: #ffff33; font-family: SimSun; font-size: 18px;">改动表的称呼

alter table 旧表名 rename 新表名;

style="background-color: #ff0000; color: #ffff33; font-family: SimSun; font-size: 18px;">打消和改造表的主键

alter table 表 drop primary key,add primary key(属性);

style="background-color: #ff0000; color: #ffff33; font-family: SimSun; font-size: 18px;">在首先行增多属性

alter table table_name add I [….]first;

> style="color: red;">注: > style="color: red;">这里的 > > > style="color: red;">first > > > style="color: red;">表示在率先行增添属性 > > > style="color: red;">I > style="color: red;">[….] > > > style="color: red;">用于表示列的完整性 > style="color: red;">比如: > style="color: red;">alter table userinfo add userAge varchar(2) not null first;

style="font-family: SimSun; font-size: 18px; color: #ffff33; background-color: #ff0000;">在属性I后边增多J属性

alter table table_name add I […] after J;

> style="font-family: SimSun; font-size: 18px;">注: > style="color: red;">[…] > > > style="color: red;">用于表示列的完整性 > style="color: red;">这里的 > > > style="color: red;">I[…] after J > > > style="color: red;">表示在 > > > style="color: red;">J > > > style="color: red;">前边增加属性 > > > style="color: red;">I

style="background-color: #ff0000; color: #ffff33; font-family: SimSun; font-size: 18px;">删除字段I的默许值

alter table table_name alter I drop default;

> style="color: red;">注:使用 ALTE奥迪Q7命令及 > > > style="color: red;"> DROP > > > style="color: red;">子句来删除字段的暗中同意值

style="background-color: #ff0000; color: #ffff00; font-family: SimSun; font-size: 18px;">更换表的内燃机

alter table table_name engine=engineName;

> style="font-family: SimSun; font-size: 18px;">注:将数据表的内燃机改换为钦点的电动机。

style="background-color: #ff0000; color: #ffff00; font-family: SimSun; font-size: 18px;">修改表系列的开头值

alter table table_name auto_increment=value;

> style="font-size: 18px;">注: > style="color: red;">改造表的类别初始值为 > > > style="color: red;">value > > > style="color: red;">。 > style="color: red;">这里的 > > > style="color: red;">value > > > style="color: red;">依赖设定 > > > style="color: red;">auto_increment > > > style="color: red;">的列的数据类型而定,如 > > > style="color: red;">int > > > style="color: red;">则可感觉整数,如 > > > style="color: red;">varchar(4) > > > style="color: red;">可感到字符串

 

开创三个employee_tbl表:

删 

  • style="font-size: 16px">删除全部数据:delete from 表名;

  • style="font-size: 16px">删除钦定数量:delete from 表名 where 条件;

改 

  • style="font-size: 16px">更新具有数据:update 表名 set 列名=新值;

  • style="font-size: 16px">更新钦赐数量:update 表名 set 列名=新值 where 条件;

  • style="font-size: 16px">更新多列:update 表名 set 列名1=值1, 列名2=值2 [where 条件];

  • style="font-size: 16px">更新为私下认可值:update 表名 set 列名=default [where 条件];

查 

  • style="font-size: 16px">查询全体数据:select 列名 from 表名;

  • style="font-size: 16px">查询钦定数量:select 列名 from 表名 [where 条件];

  • style="font-size: 16px">查询四个列:select 列名1, 列名2 from 表名 [where 条件];

  • style="font-size: 16px">查询全部列:select * from 表名 [where 条件];

  • style="font-size: 16px">钦命小名:select 列名 as 别名 from 表明 [where 条件];

  • style="font-size: 16px">查询独一值:select distinct 列名 from 表名;

 

二.示例代码

1.maven依赖

<dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.0.2</version>
</dependency>

 

2实例代码

 1 package com.my.connect;
 2 
 3 import java.sql.Connection;
 4 import java.sql.DriverManager;
 5 import java.sql.PreparedStatement;
 6 import java.sql.ResultSet;
 7 import java.sql.ResultSetMetaData;
 8 import java.sql.SQLException;
 9 /**
10  * 一个非常标准的连接Mysql数据库的示例代码
11  */
12 public class ConnectDB {
13 
14     public static void main(String[] args) {
15         // TODO Auto-generated method stub
16         Connection con = null;// 创建一个数据库连接
17         PreparedStatement pre = null;// 创建预编译语句对象,一般都是用这个而不用Statement
18         ResultSet result = null;// 创建一个结果集对象
19         ResultSetMetaData metaData = null;//创建一个表头信息对象
20         try {
21             // 加载Mysql驱动程序  ,oracle的: Class.forName("oracle.jdbc.driver.OracleDriver");
22             //不知道可以打出Driver 看导入包的提示
23             Class.forName("com.mysql.jdbc.Driver");
24             String url = "jdbc:mysql://localhost:3306/studata";//localhost 为本级地址,studata为数据库名
25             String userName = "root";
26             String password = "root";
27             con = DriverManager.getConnection(url, userName, password);// 获取连接
28             
29             System.out.println("数据库连接成功!");
30             
31             String sql = "select * from studata s where s.stuNo = ?";//预编译语句,?代表参数
32             pre = con.prepareStatement(sql);// 实例化预编译语句
33             pre.setInt(1, 10000);;// 设置参数,前面的1表示参数的索引,而不是表中列名的索引
34             result = pre.executeQuery();// 执行查询,注意括号中不需要再加参数
35             metaData  = result.getMetaData();//获取表头信息
36             while (result.next()) {
37                  // 当结果集不为空时
38                 System.out.println(metaData.getColumnName(1)   "  "   metaData.getColumnName(2));
39 
40                 System.out.println(result.getString("stuNo")   "  "   result.getString("stuName"));
41             }
42 
43         } catch (Exception e) {
44             // TODO Auto-generated catch block
45             e.printStackTrace();
46         } finally {
47             // 逐一将上面的几个对象关闭,因为不关闭的话会影响性能、并且占用资源
48             // 注意关闭的顺序,最后使用的最先关闭
49             if (result != null)
50                 try {
51                     result.close();
52                     if (pre != null)
53                         pre.close();
54                     if (con != null)
55                         con.close();
56                     System.out.println("数据库连接已关闭!");
57                 } catch (SQLException e) {
58                     // TODO Auto-generated catch block
59                     e.printStackTrace();
60                 }
61 
62         }
63 
64     }
65 
66 }

 

3.周转结果

数据库连接成功!
stuNo  stuName
10000  赵军
数据库连接已关闭!

 

string 必需。规定要反省的字符串。

  • Linux作为操作系统

  • style="font-size: 16px">ApacheNginx作为 Web 服务器

  • MySQL作为数据库

  • PHP用作劳务器端脚本

  • style="font-size: 16px">皆避防费或开放源码软件,不用花一分钱就能够建设构造起四个协和、免费的网址系列

 

 

增 

  • style="font-size: 16px">insert into 表名 values (值1, 值2, ...);

  • style="font-size: 16px">insert into 表名 (列名1, 列名2, ... ) values (值1, 值2, ...);

 

3,DML(Database Manipulate Language):数据控制语法,首要由insert、update和delete关键字组合。

 2.登陆MySQL

 

3.可视化学工业具

1、事务的原子性:一组职业,要么成功;要么撤回。

 

style="font-family: SimSun; font-size: 18px; color: #3366ff;">查看当前几天子

select current_date;

style="font-family: SimSun; font-size: 18px;">图片 7

style="font-family: SimSun; font-size: 18px; color: #3366ff;">查看服务器版本

select version();

style="font-family: SimSun; font-size: 18px;">图片 8

style="font-family: SimSun; font-size: 18px; color: #3366ff;">查看当前数据库名称

select database();

style="font-family: SimSun; font-size: 18px; color: #3333ff;">查看当前用户名

select user();

style="font-family: SimSun; font-size: 18px; color: #3333ff;">查询表中多少的言语

style="font-family: SimSun; font-size: 18px; color: #ffcc00; background-color: #ff0000;">查询表中钦点字段无重复的多寡

select distinct column_name from table_name wherecondition;

> style="font-family: SimSun; font-size: 18px;">注: > style="color: red;">1 > > > style="color: red;">, > > > style="color: red;">distinct > > > style="color: red;">用于呈现的数据内容不真实重新 > style="color: red;">2 > > > style="color: red;">, > > > style="color: red;">* > > > style="color: red;">表示全数数据 > style="color: red;">3 > > > style="color: red;">, > > > style="color: red;">condition > > > style="color: red;">能够用超越、小于等

style="font-size: 18px; color: #3333ff;">查询数据之动态钦赐条件语句

 举个例子有三个表,分别是table1和table2,在table第11中学有八个id1属性,在table第22中学有三个id2属性。假如要查询符合id第22中学的id1的数量,不要求分两句书写,能够直接将其写到一齐,举例:

select table1.id1 from table1 where id1=(select table2.id2 from table2 where id2=1);

无法不注意:在条件语句中的得出table2的数据只可以是三个分明的数值,不可能是三个数组。

连日来查询

style="font-size: 18px; color: #ffff00; background-color: #ff0000;">语法:

select 属性 from 表1,表2 where (表1.属性 = 表2.属性);

注:“表1.属性 = 表2.属性” 是很要紧的,它意味着三个表连接的标准化。

style="font-size: 18px; color: #ffff00; background-color: #ff0000;">轻便连接查询

select * from student_info,test_table where( StuID >2) and(StuID < 5) and (student_info.StuID = test_table.test_StuID);

> style="color: red;">注:查询Student_info表中StuIDtestable表中tesStuID的值一样的有着数据,况且满足Student_info中的StuID在2到5的条件。

style="font-size: 18px;">图片 9

style="font-size: 18px;">图片 10

1.Mysql 优点** 

 

  • 登陆:mysql –h 主机名 -u 用户名 –p

  • 注销:quit;

  • 修改密码:mysqladmin –uroot –p旧密码 password 新密码

先依据StuID进行降序排序,再依照StuName进行升序排序。

phpMyAdmin、MySQL-Front、MySQL Workbench、Navicat等

insert

  • 体量小、速度快、开放源码、无偿

  • 诚如中型Mini型网址的支出都选用 MySQL ,最风靡的关系型数据库

  • LAMP / LNMP 

:

 

 

SELECT concat('DROP TABLE IF EXISTS ', table_name, ';')

查询表中多少:

mysql> SELECT name, COUNT(*) FROM   employee_tbl GROUP BY name; -------- ---------- | name   | COUNT(*)| -------- ---------- |小丽|1||小明|3||小王|2| -------- ---------- 3 rows inset(0.01 sec)

语法:

 

style="font-family: SimSun; font-size: 18px; color: #3366ff;">插入数据

style="font-family: SimSun; font-size: 18px; color: #ffcc00; background-color: #ff0000;">插入完整元组

insert into Student_info values (10,'宋文',123456789);

style="background-color: #ff0000; color: #ffcc00; font-family: SimSun; font-size: 18px;">插入非完全元组

insert into Student_info(StuName,Telephone) values ('小吴,'123456789');

> style="font-family: SimSun; font-size: 18px;">注:在调整插入元组数据中的属性个数时,首要依赖表中属性的完整性来支配。

style="font-family: SimSun; font-size: 18px; color: #3366ff;">复制表数据

style="font-family: SimSun; font-size: 18px; color: #3366ff;"> > style="color: #ffcc00; font-family: SimSun; font-size: 18px; background-color: #ff0000;">复制旧表的数码到新表

insert into 新表 select * from 旧表

> style="font-size: 18px;">注: > style="font-size: 18px;">这里七个表的协会供给要平等 > style="color: red;">这里只是复制数据,旧表的 > > > style="color: red;">primary key > > > style="color: red;">和 > > > style="color: red;">auto_increment > > > style="color: red;">如故须要协和丰硕。上边包车型大巴艺术也得以获得七个精光平等的表 > style="color: red;">方法一:首先用“ > > > style="color: red;">creat table  > > > style="color: red;">新表 like  > > > style="color: red;">旧表”将旧表的构造复制过来,然后选用“ > > > style="color: red;">insert into > > > style="color: red;">新表 select from 旧表 > > > style="color: red;">”将表中的数目复制过去。 > style="color: red;">方法二: > > > style="color: red;">show create table > > > style="color: red;">旧表*命令得到创设表的指令,复制粘贴再转移名称最后运转,得到三个数据结议和性情同样的新表 > > > style="color: red;">( > > > style="color: red;">除名称 > > > style="color: red;">) > > > style="color: red;">,再用这里 > > > style="color: red;">insert > > > style="color: red;">命令,将数据复制过去,就能够猎取完全一致的表了。

style="background-color: #ff0000; color: #ffcc00; font-family: SimSun; font-size: 18px;">复制旧表的一对数据到新表

insert into 新表 (字段1,字段2......)select 字段1,,字段2,.....from 旧表

> style="font-family: SimSun; font-size: 18px;">注: > style="font-family: SimSun; font-size: 18px;">1,这里四个表的相称字段数据类型要一律。 > style="color: red;">2,这里只是复制数据,旧表的 > > > style="color: red;">primary key > > > style="color: red;">和 > > > style="color: red;">auto_increment > > > style="color: red;">仍然要求本人加上。

style="font-family: SimSun; font-size: 18px; color: #3366ff;">insert ignore into 和 insert into 的区别

INSERT IGNORE INTO与INSERT INTO的界别就是INSERT IGNORE会忽略数据库中已经存在的多寡,假若数据库未有数量,就插入新的数据,假设有多少的话就跳过那条数据。INSERT IGNORE INTO当插入数据时,在设置了笔录的独一性后,要是插入重复数据,将不回来错误,只以警示格局再次回到。 而REPLACE INTO into假设存在primary 或 unique一样的笔录,则先删除掉。再插入新记录。

2.DDL(Database Define Language):数据定义语言,首要由Create、Drop、Alter和Truncate关键字组合。

characters     可选。规定受 addcslashes() 影响的字符或字符范围。

style="font-size: 18px;">撤销表

drop table if exists table_name;

style="font-family: SimSun; font-size: 18px; color: #ff0000;">注:dropexists的用法是分歧样的,drop是世代删除表,而delete只是去除表中的多少。

接下去大家选取 GROUP BY 语句 将数据表按名字进行分组,并总括各种人有稍许条记下:

primary key(column1,column2);

update

正则表明式

事务

delete

INSERT INTO `employee_tbl` VALUES ('1','小明','2016-04-22 15:25:33','1'),('2','小王','2016-04-20 15:25:47','3'),('3','小丽','2016-04-19 15:26:02','2'),('4','小王','2016-04-07 15:26:14','4'),('5','小明','2016-04-11 15:26:40','4'),('6','小明','2016-04-04 15:26:54','2');

style="font-family: SimSun; font-size: 18px; color: #3333ff;">创立视图

style="font-family: SimSun; font-size: 18px; color: #ffff00; background-color: #ff0000;">创设或调换视图语法:

create or replace view 视图名[字段名1,字段名2,.....] as 查询语句

style="background-color: #ff0000; color: #ffff00; font-family: SimSun; font-size: 18px;">从单个表中派生视图

如:

create view v1 as select StuID,StuName from Student_info;

style="font-family: SimSun; font-size: 18px;">图片 11

style="color: #ffff00; font-family: SimSun; font-size: 18px; background-color: #ff0000;">从四个表中派生视图

如:

create view v2 as select * from student_info,test_table where student_info.StuID = test_table.test_StuID;

style="font-family: SimSun; font-size: 18px;">图片 12

style="font-family: SimSun; font-size: 18px;">图片 13

style="background-color: #ff0000; color: #ffff00; font-family: SimSun; font-size: 18px;">视图虚字段

如:

create view v3 as select StuName,Telephone as oritel,telephone 1 as retel from student_info;

> style="font-size: 18px; color: #ff6600;">注:这里再一次创立了二个视图,有四个属性分别为StuName、oritel、retel,当中oritel属性便是Telephone,retel属性是Telephone 1的值。因为此处的oritel和retel属性在原表中是未有的,须求通过计算而来的,全体被形成虚字段。

style="font-size: 18px;">图片 14

style="font-family: SimSun; font-size: 18px; color: #3333ff;">删除视图

style="font-family: SimSun; font-size: 18px; color: #ffff00; background-color: #ff0000;">删除视图语法:

drop view 视图名

  • > style="font-family: SimSun; font-size: 18px;">如:*

drop view v3;

style="color: #3333ff; font-family: SimSun; font-size: 18px;">视图的辨证

style="font-family: SimSun; font-size: 18px;">MySQL中的视图是可更新的,任何对原表的改动都会反射到视图中,或许其余对视图的变动都会反馈到原表上。

但是“select from table where binary name ="Jame";*”就只能搜索出Jame数据。

binary用于能够用于区分轻重缓急写

 

NULL运算符

 

  当有多少个属性值举行排序的时候,依据先后顺序进行排序。

 

4,DQL(Database Query Language):数据查询语言,首要由select关键字组合

视图

 

 

 

order by 属性1,属性2,...... [asc,desc];

3、隔开分离性:事务独立运维。一个事务管理后的结果,影响了其他工作,那么任何事务会撤回。事务的百分百隔离,需求捐躯速度。

style="font-family: SimSun; font-size: 18px; color: #ffcc00;">删除表的保有数据

FROM information_schema.tables

 

删除有个别数据库下的全体表

style="font-family: SimSun; font-size: 24px; color: #3366ff;">使用数据库

use database_name;

 

5,TCL(Tranlasion Control Language):事物资调剂控语言,首要由commit、rollback和savePoint关键字组合。

style="font-size: 18px;">撤消数据库

select

MySQL中本来是不区分轻重缓急写的,

本文由金沙澳门官网发布于数据库信息,转载请注明出处:MySQL的常规操作,一个非常标准的连接Mysql数据库

关键词: 金沙澳门官网

上一篇:澳门金莎娱乐网站centos7安装mysql5.7(yum)
下一篇:没有了