MYSql 基本配置及JDBC测试

1、创建、显示数据库
	create database databasename;
	show databases;
2、使用数据库
	use databasename;
3、显示表格
	show tables;
4、创建表
	create table article 
		(
		id int primary key auto_increment,
		pid int,
		rootid int,
		title varchar(255),
		cont text,
		pdate datetime,
		isleaf int 
		);
	//auto_increment表示自增字段
5、增加字段
	alter table article add (title1 varchar(255));
6、修改字段
	alter table article modify id int(4);
7、删除表中列
	alter table article drop column title1;
8、删除表
	drop table article;
9、执行本地SQL脚本
	打开MYSQL COMMAND:
	\. e:\\bbs.sql
	这里我把bbs.sql放在e盘根目录下。
	命令注意:是\.而不是.\,另外:最后不需加";"号。
	在MYSQL中有时利用MYSQL FONT插入时会导致插入的中文变成?号,但采用这种方法及直接在命令提示符下插入时则不会。
	内容如下:
	create database bbs;
	use bbs;
	
	create table article 
	(
	id int primary key auto_increment,
	pid int,
	rootid int,
	title varchar(255),
	cont text,
	pdate datetime,
	isleaf int 
	);
	
	insert into article values (null, 0, 1, '蚂蚁大战大象', '蚂蚁大战大象', now(), 1);
	insert into article values (null, 1, 1, '大象被打趴下了', '大象被打趴下了',now(), 1);
	insert into article values (null, 2, 1, '蚂蚁也不好过','蚂蚁也不好过', now(), 0);
	insert into article values (null, 2, 1, '瞎说', '瞎说', now(), 1);
	insert into article values (null, 4, 1, '没有瞎说', '没有瞎说', now(), 0);
	insert into article values (null, 1, 1, '怎么可能', '怎么可能', now(), 1);
	insert into article values (null, 6, 1, '怎么没有可能', '怎么没有可能', now(), 0);
	insert into article values (null, 6, 1, '可能性是很大的', '可能性是很大的', now(), 0);
	insert into article values (null, 2, 1, '大象进医院了', '大象进医院了', now(), 1);
	insert into article values (null, 9, 1, '护士是蚂蚁', '护士是蚂蚁', now(), 0);

10、主键与外键
	create table dept
	(
		depno int primary key,
		dname varchar(20)
	);
	create table emp
	(
		empno int primary key,
		empname varchar(20),
		depno int,
		foreign key (depno) references dept(depno)
	);
11、返回多少行limit
	select * from article limit 0,10;
	返回article表中第一行开始的10行数据
	LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。LIMIT 接受一个或两个数字参数。
	参数必须是一个整数常量。
	如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。初始记录行的偏移量是 0(而不是 1):
	如我要返回第10行到第20行的数据:
	select * from article limit 9,10;
	可理解为从第10条开始(9表示的是第10条) 包括第10条。。取10条数据。
	也可理解为从第9条往后(不包括第9条)取10条数据。
	如下:
	SELECT * FROM table LIMIT 5,10;  // 检索记录行 6-15
	注意:以下测试过现在不行,不知道以前是不是可以。
		//为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1: 
		//mysql> SELECT * FROM table LIMIT 95,-1; // 检索记录行 96-last.
	如果只给定一个参数,它表示返回最大的记录行数目: 
	mysql> SELECT * FROM table LIMIT 5;     //检索前 5 个记录行
	换句话说,LIMIT n 等价于 LIMIT 0,n。

12、now()表当前日期
    日期处理: select date_format(now(),'%y-%m-%d %h:%i:%s');
13、查看MYSQL中表创建时使用的编码:show create table article;
	如果后台是UTF8则在命令行输入命令前应:set names gbk
	注意my.ini中的配置:有两个character-set的地方:
	[mysql]
	default-character-set=gb2312      #指的是在命令行输入的sql命令的编码,这个设置为GBK输入SQL命令时不用再输入SET NAMES GBK。
	。。。。
	# The default character set that will be used when a new schema or table is
	# created and no character set is defined
	
	default-character-set=gb2312      #数据库存储数据所采用的编码,这个可以改为UTF8

	配置更改后重启服务。

 JDBC测试:

import java.sql.*;

public class DB {
	public static Connection getConnection(){
		Connection con=null;
		try{
			Class.forName("com.mysql.jdbc.Driver");
			con = DriverManager.getConnection("jdbc:mysql://localhost:3306/bbs","root","sys833199");
			
		}catch(ClassNotFoundException e){
			System.out.println("数据库驱动未找到,详情为"+e);
		}catch(SQLException e){
			System.out.println("连接数据库出错,详情为"+e);
		}
		return con;
	}
	
	public static  Statement createStatement(Connection con){
		Statement st = null;
		try{
		st = con.createStatement();
		}catch(SQLException e){
			System.out.println("创建会话出错"+e);
		}
		return st;
	}
	
	public  static ResultSet executeQuery(Statement st,String sql){
		ResultSet rs = null;
		try {
			rs = st.executeQuery(sql);
		} catch (SQLException e) {
			System.out.println("返回结果集出错"+e);
		}
		return rs;
	}
	
	public  static void executeUpdate(Statement st,String sql){
		
		try {
			st.executeUpdate(sql);
		} catch (SQLException e) {
			System.out.println("返回结果集出错"+e);
		}
}
	
	public  static void close(Connection con){
		if(con!=null){
			try {
				con.close();
			} catch (SQLException e) {
				System.out.println("连接关闭出错"+e);
			}
		}
	}
	
	public  static void close(Statement st){
		if(st!=null){
			try {
				st.close();
			} catch (SQLException e) {
				System.out.println("会话关闭出错"+e);
			}
		}
	}
	
	public  static void close(ResultSet rs){
		if(rs!=null){
			try {
				rs.close();
			} catch (SQLException e) {
				System.out.println("返回结果集关闭出错"+e);
			}
		}
	}
}

 

 

附件为测试项目

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值