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();
}
}