数据库
- verchar 表示动态的空间 比如 共有10 存了3 那他只占3
- 主键不能为null
- 若设置了自增 当你设定10时,将8删除,下一个会从11开始,编号不会自动维护(并不会向前移动)
- 主键和唯一键(unique)都不能重复,但是主键不能为空,而唯一键可以有一个为null
- 我们可以给两个字段设置主键,这叫做联合主键,但是有一个设置
数据库具体操作
关键字不区分大小写
插入数据: insert into dept(deptname,deptdesc)VALUES('品牌部','负责公司品牌策划')
查询数据: select deptname,deptdesc from dept
查询内容: select * from dept where deptid=1 or deptname='市场部'
进行排序 :select * from dept where deptid=1 or deptname='市场部' order by deptid desc(降序)
select * from dept where deptid=1 or deptname='市场部' order by deptid asc(升序)
更新数据: update dept set deptname='策划部',deptdesc='负责公司产品策划推广工作' where deptid=12
删除一行: DELETE from dept where deptid=12
jdbc
连接数据库
Connection conn=null;
String url="jdbc:mysql://localhost:3306/crmdb";
//地址 端口 库名
String uid="root";
String pwd="123456";
PreparedStatement pstms=null;
try {
//加载mysql驱动
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
增,删,改
try {
conn=DriverManager.getConnection(url,uid,pwd);
Scanner input=new Scanner(System.in);
System.out.println("请输入部门名称");
String deptname=input.next();
System.out.println("请输入部门描述");
String deptdesc=input.next();
String sql="insert into dept(deptname,deptdesc)values(?,?)";
pstms=conn.prepareStatement(sql);
pstms.setString(1, deptname);
pstms.setString(2, deptdesc);
int result =pstms.executeUpdate();
if(result>0){
System.out.println("insert ok");
}else{
System.out.println("insert no ok");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
查询数据
public void testSelect() {
Connection conn=null;
String url="jdbc:mysql://localhost:3306/crmdb";
//地址 端口 库名
String uid="root";
String pwd="123456";
PreparedStatement pstms=null;
ResultSet rs=null;
try {
//加载mysql驱动
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
conn=DriverManager.getConnection(url,uid,pwd);
String sql="select * from dept order by deptid desc";
pstms=conn.prepareStatement(sql);
rs =pstms.executeQuery();
while (rs.next()) {
int deptid=rs.getInt("deptid");
String deptname=rs.getString("deptname");
String deptdesc=rs.getString("deptdesc");
System.out.println(deptid+":"+deptname+":"+deptdesc);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}