数据库+MySql

在这里插入图片描述

1:Table

2:column
field(字段)
3:row
record(记录)
4:库
表的集合

MySOL
1:启动mysql 命令行
mysql -h hostname -u root -p root //连接远程服务器
mysql -u root -p root //连接localhost
2:查看mysql帮助
3:查询当前日期和时间
select current_data;//
select now()//查询当前时间
4:现实所有数据库
– 显示所有数据库
show databases;
5:删除数据库
mysql>daop databases;
6:创建数据库
mysql>creat database mybase;
7:使用指定的数据库
mysql>use mybase;
8:显示所有表:
mysql>show tables;
9:建表
mysql>creat table test(id int,name varchar(20),age int );
10:查看表结构
mysql>describe test();
mysql>desc test();
11:删掉表格
mysql>drop table test;
12:查询表数据
mysql>select from test; //全字段+全表扫描
mysql>select id,name,age from test //投影查询project
mysql>select id ,name,age from test where id>3 and id<5;//类似于java中的&&
mysql>select id ,name,age from test where id<3 or id>5;
mysql>select id ,name,age from test where name like ‘t%’//模糊查询 %意思是tom后面可以有很多字符,_只有一个字符__两个字符
若只查找tom_line,则需要转义加一个\ 如tom_
mysql>select id ,name,age from test where name is null ;//null查询
is not null//非null查询
mysql>select id ,name,age from test order by id desc; //降序排序
mysql>select id ,name,age from test order by id asc; //升序排序
select * from test limit 1,3; //查询位置1-3之间的;1
聚集函数查询
select count(
)from test; //count查询记录
select max(age)from test; //最大值
select min(age)from test; //最小值
select avg(age)from test; //平均值
selcet sum(age)from test; //求总和
13:插入记录
mysql>insert into test(id ,name,age)values(1,‘tom’,23);
mysql>insert into test(id,name)values(4’tomson’);
mysql>insert into test values(4,‘tomson’,26);
14:更新记录
mysql>update test set name =‘xxx’,age=33 where id=112;//更新id为112的记录
mysql>update test set name =‘xxx’,age=33 ; //更新所有记录
mysql>update test set age =age+1 where id>0; //所有的年龄加1
15:删除记录
mysql>delete from test where id=1; //删除id等于1的数据

CRUD
[create]
insert into table_name(field_name,…)values(value,…);
[retrieve]
select id,…from table_name where id=xxx,…;
[update]
update table_name set id=xxx,…whrer id=xxx,…;
[delete]
delete from test where,;

MYSQL约束
1:primary key
null ,不能重复
create table test(id int primary key,…);//设置主键
例如 创建table时create table test(id int primary key,name varchar(20),age int);
2:自增
create table test(id int primary key auto_increment,name varchar(20),age int);
从最大值加一
插入时不指令id
insert into test(name,age)values(‘tomson’,22); id会根据表内的最大id自增1
3:待条件创建
create database if not exists mabase;
create table if not exists test;
4:带条件删除
drop database if exists mybase;
5:
修改表
alter table tbl_name add column password varchar(20);

string sql =“select*from persons where name=’”+tfName.getText()+"‘and passsword =’“tfPass.getText()+” ’ ";

下载对应版本的mysql-connector-java放到lib下就可以在eclipse中操作mysql
对应版本 版本对应法则

TestCRUD

package fantongjun.Test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import org.junit.Test;
/**
 * insert
 * @author Frenzy Fan
 *
 */
public class TestCRUD {
 @Test
 public void insert() {
 String url="jdbc:mysql://localhost:3306/mybase";
 String user="root";
 String password="root";
 try {
  //注册驱动程序
  Class.forName("com.mysql.jdbc.Driver");
  //获得连接
  Connection conn=DriverManager.getConnection(url,user,password);
  //创建语句对象(解耦合)
  Statement st=conn.createStatement();
  String sql="insert into test(id,name,age)values(4,'tom',23)";
  //执行sql语句
  st.execute(sql);
  //
  System.out.println("over");
  //释放资源
  st.close();
  conn.close();
  System.out.println(conn);
 } catch (Exception e) {
  e.printStackTrace();
 }
}
/**
 * 更新
 */
@Test
public void update() {
String url="jdbc:mysql://localhost:3306/mybase";
String user="root";
String password="root";
try {
 //注册驱动程序
 Class.forName("com.mysql.jdbc.Driver");
 //获得连接
 Connection conn=DriverManager.getConnection(url,user,password);
 //创建语句对象(解耦合)
 Statement st=conn.createStatement();
 String sql="update test set name='jerry',age=16 where id=1";
 //执行sql语句
 st.execute(sql);
 //
 System.out.println("over");
 //释放资源
 st.close();
 conn.close();
 System.out.println(conn);
} catch (Exception e) {
 e.printStackTrace();
}
}
/**
 * 删除
 */
@Test
public void delete() {
String url="jdbc:mysql://localhost:3306/mybase";
String user="root";
String password="root";
try {
 //注册驱动程序
 Class.forName("com.mysql.jdbc.Driver");
 //获得连接
 Connection conn=DriverManager.getConnection(url,user,password);
 //创建语句对象(解耦合)
 Statement st=conn.createStatement();
 
 String sql="delete from test where id=1";
 //执行sql语句
 st.execute(sql);
 //
 System.out.println("over");
 //释放资源
 st.close();
 conn.close();
 System.out.println(conn);
} catch (Exception e) {
 e.printStackTrace();
}
}
/**
 * 查询
 */
@Test
public void findALL() {
String url="jdbc:mysql://localhost:3306/mybase";
String user="root";
String password="root";
try {
 //注册驱动程序
 Class.forName("com.mysql.jdbc.Driver");
 //获得连接
 Connection conn=DriverManager.getConnection(url,user,password);
 //创建语句对象(解耦合)
 Statement st=conn.createStatement();
 String sql="selet id,name,age from test";
 //执行sql语句
 ResultSet rs=st.executeQuery(sql);//结果集对象,指向第一个
 //遍历结果集
 while(rs.next()) {
  int id=rs.getInt("id");
  String name=rs.getString("name");
  int age=rs.getInt("age");
  System.out.println(id+":"+name+" :"+age); 
 }
 System.out.println("over");
 //释放资源
 rs.close();
 st.close();
 conn.close();
 System.out.println(conn);
} catch (Exception e) {
 e.printStackTrace();
}
}
}

封装一样的:

package fantongjun.Test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import org.junit.Before;
import org.junit.Test;
/**
 * insert
 * @author Frenzy Fan
 *
 */
public class TestStatement {
 private Connection conn;
 @Before
 public void iniConn() {
 String url="jdbc:mysql://localhost:3306/mybase";
 String user="root";
 String password="root";
 try {
  //注册驱动程序
  Class.forName("com.mysql.jdbc.Driver");
  conn = DriverManager.getConnection(url,user,password); 
 } catch (Exception e) {
  e.printStackTrace();
 }
}
/**
 * 查询
 * @throws Exception 
 */
@Test
public void findALL() throws Exception {
 String name="tom";
 String pass="123456";
 Statement st=conn.createStatement();
 String sql="select * from test where name='"+name+"'and passsword ='"+pass+" '  ";
 //执行sql语句
 ResultSet rs=st.executeQuery(sql);
 //遍历结果集
 if(rs.next()) {
  int id=rs.getInt(1); 
 }
 else{
  System.out.println("用户名或者密码错误,请重试"); 
 }
 //释放资源
 rs.close();
 st.close();
 conn.close();
}
/**
 * 查询
 * @throws Exception 
 */
@Test
public void insert() throws Exception {
 //???是占位符
 String sql="insert into test(name,password,age)values(?,?,?)";
 PreparedStatement ppst=(PreparedStatement) conn.prepareStatement(sql);
 //绑定参数
 ppst.setString(1, "tom");
 ppst.setString(1, "234567");
 ppst.setInt(3, 12);
 //执行更新
 ppst.executeUpdate();
 ppst.close();
 conn.close();
}
}
发布了61 篇原创文章 · 获赞 114 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_45822638/article/details/104880501