2011-09-14

 

一、jdbc连接数据库

1、加载JDBC驱动程序
Class.forName(“com.mysql.jdbc.Driver”);
或者:Driver driv=new com.mysql.jdbc.Driver();
           DriverManager.registerDriver(driv);

2、提供JDBC连接的URL
String url="jdbc:mysql://localhost:3306/test";
String username="root";
String password="1234";

urll="jdbc:mysql://localhost:3306/test?user=root&password=1234”

3、创建数据库的连接
Connection con;
con=DriverManager.getConnection(url,username,password);

或con=DriverManager.getConnection(urll);

4、创建一个Statement
Statement stat=con.createStatement();

5、执行SQL语句
stat.executeUpdate(sql);//sql是insert、update和delete语句
stat.executeQuery(sql);//sql是select语句
stat.execute(sql);  //多个结果集、多个更新计数或组合语句

6、处理结果

   执行更新返回的是本次操作影响到的记录数

执行查询返回的结果是一个ResultSet对象,该对象以0或多条记录的形式包含了查询结果,可以通过隐含的游标(指针)来定位数据,初始化时,游标位于第一条记录前,可以通过next()方法移动到下一条记录。

ResultSet rs=stat.executeQuery(“select …”);

rs.next();//移动游标到第一条记录,如果没有到最后一条记录的后面,方法返回true,否则返回false。

7、关闭jdbc对象
在操作完成以后要把所使用的JDBC对象全部关闭,以释放JDBC资源,关闭的顺序和声明顺序相反。

改正以下mysql语句:CREATE TABLE employees ( EmployeeID int NOT NULL AUTO_INCREMENT COMMENT '工号', Name varchar(20) NOT NULL COMMENT '姓名', sex char(2) DEFAULT NULL COMMENT '性别', BirthDate date DEFAULT NULL COMMENT '出生日期', Phone varchar(24) DEFAULT NULL COMMENT '电话', HireDate date DEFAULT NULL COMMENT '入职日期', Address varchar(15) DEFAULT NULL COMMENT '工作地点', Title varchar(30) DEFAULT NULL COMMENT '职位', ReportsTo int(11) DEFAULT NULL COMMENT '上级工号', PRIMARY KEY (EmployeeID), KEY FK_Employees_Employees (ReportsTo), KEY Name (Name), CONSTRAINT FK_Employees_Employees FOREIGN KEY (ReportsTo) REFERENCES employees (EmployeeID), CONSTRAINT employees_chk_1 CHECK (((sex = '男') or (sex = '女'))) ) ENGINE=InnoDB AUTO_INCREMENT=11; insert into employees(EmployeeID,Name,sex,BirthDate,Phone,HireDate,Address,Title,ReportsTo) values (1,'蔡小叶','女','1983-11-10','15651718131','2014-01-02','海南省三亚市','销售员',NULL), (2,'陈会玲','女','1983-12-24','15651792676','2011-09-10','河南省焦作市','总经理',NULL), (3,'陈荣','女','1984-03-14','18052098320','2014-09-26','江苏省南京市','销售员',NULL), (4,'江小利','女','1983-12-10','15651793136','2012-09-07','四川省蒲江市','销售员',NULL), (5,'吕倩','女','1980-10-28','15651036060','2014-08-27','浙江省宁波市','销售经理',NULL), (6,'于小飞','男','1984-02-19','15605167963','2013-12-16','湖北省宜昌市','销售员',NULL), (7,'袁卫华','男','1983-09-23','18761666129','2014-01-09','江苏省溧阳县','销售员',NULL), (8,'张家瑞','男','1983-05-26','18652204573','2012-09-05','四川省宜宾市','销售经理',NULL), (9,'张玉','男','1984-02-15','18914785173','2013-04-21','安徽省安庆市','销售员',NULL), (10,'赵恒','男','1983-03-10','18761662284','2012-10-30','深圳',NULL,NULL); 停止 复制
06-12
这是一个创建和插入数据到 MySQL 数据库中的语句,但是有一个小问题。 在表的 CONSTRAINT 中,sex 字段的 CHECK 约束条件应该是 `CHECK (sex = '男' OR sex = '女')`,而不是 `CHECK (((sex = '男') or (sex = '女'))) `。 正确的语句如下: ``` CREATE TABLE employees ( EmployeeID int NOT NULL AUTO_INCREMENT COMMENT '工号', Name varchar(20) NOT NULL COMMENT '姓名', sex char(2) DEFAULT NULL COMMENT '性别', BirthDate date DEFAULT NULL COMMENT '出生日期', Phone varchar(24) DEFAULT NULL COMMENT '电话', HireDate date DEFAULT NULL COMMENT '入职日期', Address varchar(15) DEFAULT NULL COMMENT '工作地点', Title varchar(30) DEFAULT NULL COMMENT '职位', ReportsTo int(11) DEFAULT NULL COMMENT '上级工号', PRIMARY KEY (EmployeeID), KEY FK_Employees_Employees (ReportsTo), KEY Name (Name), CONSTRAINT FK_Employees_Employees FOREIGN KEY (ReportsTo) REFERENCES employees (EmployeeID), CONSTRAINT employees_chk_1 CHECK (sex = '男' OR sex = '女') ) ENGINE=InnoDB AUTO_INCREMENT=11; INSERT INTO employees ( EmployeeID, Name, sex, BirthDate, Phone, HireDate, Address, Title, ReportsTo ) VALUES ( 1, '蔡小叶', '女', '1983-11-10', '15651718131', '2014-01-02', '海南省三亚市', '销售员', NULL ), ( 2, '陈会玲', '女', '1983-12-24', '15651792676', '2011-09-10', '河南省焦作市', '总经理', NULL ), ( 3, '陈荣', '女', '1984-03-14', '18052098320', '2014-09-26', '江苏省南京市', '销售员', NULL ), ( 4, '江小利', '女', '1983-12-10', '15651793136', '2012-09-07', '四川省蒲江市', '销售员', NULL ), ( 5, '吕倩', '女', '1980-10-28', '15651036060', '2014-08-27', '浙江省宁波市', '销售经理', NULL ), ( 6, '于小飞', '男', '1984-02-19', '15605167963', '2013-12-16', '湖北省宜昌市', '销售员', NULL ), ( 7, '袁卫华', '男', '1983-09-23', '18761666129', '2014-01-09', '江苏省溧阳县', '销售员', NULL ), ( 8, '张家瑞', '男', '1983-05-26', '18652204573', '2012-09-05', '四川省宜宾市', '销售经理', NULL ), ( 9, '张玉', '男', '1984-02-15', '18914785173', '2013-04-21', '安徽省安庆市', '销售员', NULL ), ( 10, '赵恒', '男', '1983-03-10', '18761662284', '2012-10-30', '深圳', NULL, NULL ); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值