mysql基础操作记录
安装mysql
Mac使用homebrew安装mysql,命令行执行以下命令:brew install mysql
启动mysql服务
安装完成后执行start 命令。
➜ ~ mysql.server start
Starting MySQL
. SUCCESS!
连接数据库
命令行方式
默认用户是root,密码为空。
➜ ~ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.12 Homebrew
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
JDBC方式
导入JDBC jar包
通过maven方式引入
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
下载后,add进项目
可以直接在mysql官网下载jar包,复制在项目里面,然后添加进依赖即可。
连接mysql
package com.test.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class DBhelper{
public static void main (String[] args){
try{
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","");
conn.close();
} catch(SQLException e){
e.printStackTrace();
}
}
}
数据库操作
数据库操作指令
- 创建:
create database test_db; - 查询数据库:
show databases; - 删除数据库:
drop test_db;
增删改查操作指令
命令行方式
插入数据
insert into 表名 (列名....) values (数据....);
删除数据,不添加where条件会清楚整个表的数据
delete from 表名 where 条件;
更新数据,修改id为9的内容name为空
update 表名 set name='' where id=9;
查询数据
select * from table;
select 列名 from table;
select * from table where id = 9;
select * from table order by id;
连表查询
select t.id, tt.name from table1 as t inner join table2 as tt on t.id = tt.u_id;
JDBC操作增删改查
更新数据
插入,更新和删除都是对数据的更新操作,用相同的方法,只是传入的sql语句不同。
package com.test.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class TransactionTest {
public static String url = "jdbc:mysql://localhost:3306/test";
public static String user = "root";
public static String password = "";
public static String driverName = "com.mysql.jdbc.Driver";
public static Connection getConnection() {
Connection conn = null;
try {
Class.forName(driverName);
conn = DriverManager.getConnection(url, user, password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
public static void update(String sql) {
Connection conn = getConnection();
try {
Statement st = conn.createStatement();
int count = st.executeUpdate(sql);
System.out.println("更新了 " + count + " 条数据");
st.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
查询数据
package com.test.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class DBHelper {
public static final String url = "jdbc:mysql://127.0.0.1/test";
public static final String name = "com.mysql.jdbc.Driver";
public static final String user = "root";
public static final String password = "";
Connection conn;
PreparedStatement pst;
ResultSet ret;
private void ConnectionDB() {
try {
Class.forName(name);
conn = DriverManager.getConnection(url,user,password);
pst = conn.prepareStatement("select * from myclass;");
ret = pst.executeQuery();
int col = ret.getMetaData().getColumnCount();
while (ret.next()) {
for (int i = 1; i <= col; i++) {
System.out.print(ret.getString(i) + "\t");
if ((i == 2) && (ret.getString(i).length() < 8)) {
System.out.print("\t");
}
}
System.out.println("");
}
ret.close();
pst.close();
conn.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
DBHelper dbHelper = new DBHelper();
dbHelper.ConnectionDB();
}
}
JDBC处理事务
事务是为了保证数据的一致性,要么事务中的数据操作语句都成功,失败的话立即回滚。
package com.test.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class TransactionTest {
public static String url = "jdbc:mysql://localhost:3306/test";
public static String user = "root";
public static String password = "";
public static String driverName = "com.mysql.jdbc.Driver";
public static Connection getConnection() {
Connection conn = null;
try {
Class.forName(driverName);
conn = DriverManager.getConnection(url, user, password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
public static void update(String sql) {
Connection conn = getConnection();
try {
Statement st = conn.createStatement();
int count = st.executeUpdate(sql);
System.out.println("更新了 " + count + " 条数据");
st.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void rollbackTest() {
Connection conn = getConnection();
try {
conn.setAutoCommit(false);
Statement st = conn.createStatement();
st.executeUpdate("insert into Websites values (8,'tutu','url',99,'CN')");
st.executeUpdate("insert into access_log values ()");
conn.commit();
st.close();
} catch (SQLException e) {
try {
conn.rollback();
} catch (SQLException e1) {
e1.printStackTrace();
}
e.printStackTrace();
} finally {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
rollbackTest();
}
}
mysql基础操作记录的更多相关文章
- MYSQL基础操作
MYSQL基础操作 [TOC] 1.基本定义 1.1.关系型数据库系统 关系型数据库系统是建立在关系模型上的数据库系统 什么是关系模型呢? 1.数据结构可以规定,同类数据结构一致,就是一个二维的表格 ...
- MYSQL 基础操作
1.MySQL基础操作 一:MySQL基础操作 1:MySQL表复制 复制表结构 + 复制表数据 create table t3 like t1; --创建一个和t1一样的表,用like(表结构也一样 ...
- 【MySQL】MySQL基础操作语句
mysql基础操作语句,包括数据库的增.删.切换,以及表的增.删.改.查.复制. 创建数据库 mysql> create database tem; 使用数据库 mysql> use te ...
- MySQL基础操作&&常用的SQL技巧&&SQL语句优化
基础操作 一:MySQL基础操作 1:MySQL表复制 复制表结构 + 复制表数据 create table t3 like t ...
- mysql数据库优化课程---13、mysql基础操作
mysql数据库优化课程---13.mysql基础操作 一.总结 一句话总结:mysql复制表,索引,视图 1.mysql如何复制表? like select * 1.复制表结构 create tab ...
- MySQL基础操作(二)
MySQL基础操作 一.视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用.注意:使用视图时 ...
- 前端笔记之服务器&Ajax(中)MySQL基础操作&PHP操作数据库&Ajax
一.数据库基础 1.1什么是数据库? 什么是数据库? 答:就是一个很大的一个文件,只不过这个文件可以通过一些‘命令’操作数据: 增.删.改.查数据: 数据库等于持久数据和数据操作的一个统称. 数据库是 ...
- 02 . Mysql基础操作及增删改查
SQL简介 SQL(Structured Query Language 即结构化查询语言) SQL语言主要用于存取数据.查询数据.更新数据和管理关系数据库系统,SQL语言由IBM开发. SQL语句四大 ...
- PHP mysql基础操作
mysql连接操作 //建立连接$con = mysql_connect('localhost', 'root', '123456');//判断是否连接成功if($con){ die('连接失败!'. ...
随机推荐
- 运维平台cmdb开发-day3
后台管理 1. 访问过程 我们在前面2天得到了各个客户端的资产数据信息,我们将各个这个数据打包发送到api,这个api其实就是django的url传参,之后按照数据的格式对比数据库增删改 2. 后台页 ...
- WordSmith2013-7-31
WordSmith Good Evening Ladies and Gentlemen,I’am Jason,I’m pleasured to be wordsmith tonight. First ...
- Linux 之 利用Google Authenticator实现用户双因素认证
一.介绍:什么是双因素认证 双因素身份认证就是通过你所知道再加上你所能拥有的这二个要素组合到一起才能发挥作用的身份认证系统.双因素认证是一种采用时间同步技术的系统,采用了基于时间.事件和密钥三变量而产 ...
- ceph中用sgdisk工具进行分区--------固定uuid
ceph中两种类型分区的type code: type type code journal 45b0969e-9b03-4f30-b4c6-b4b80ceff106 osd 4fbd7e29-9d25 ...
- django的实现异步机制celery
celery 一句话总结:celery是一种实现异步的机制,对于比较耗时的任务可以使用其来减少客户端等待时间(注册邮箱验证),提高用户体验. 官方网站 中文文档 示例一:用户发起request,并等待 ...
- Mysql总结(二)
数据库.表.字段.行 问:查询姓黄或洪的男生分析:数据从哪来,哪个表stu条件:姓黄或洪name or and 男生gender答:select * from stu where gender=1 a ...
- python查找文件相同的和包含汉字的
#!/usr/bin/env python # Version = 3.5.2 import os import time d_path = '/data/media' log_file = 'res ...
- Sass 入门 (一) 安装Sass
Sass安装 ruby安装 因为sass依赖于ruby环境,所以装sass之前先确认装了ruby.先导官网下载个ruby 在安装的时候,请勾选Add Ruby executables to your ...
- PHP 缓存插件之 Zend Opcache ( 取代 APC )
简介: Zend Opcache .APC 这都是 PHP 代码加速器,将 PHP 源代码的编译结果缓存起来,再次调用时对比时间标记,如果没有改变则使用缓存数据,免去再次解析代码的开销. APC 止步 ...
- Scrum由来
历史故事 在越南战争期间(1955年-1975年),对于美国战机飞行员而言,要执行100次飞行任务,飞到敌国领空被击落的概率是50%. 1967年,萨瑟兰还是一个没有经验的年轻飞行员,当时却是做最危险 ...