JavaWeb第11章--数据库概述

来源:互联网 发布:杭州淘宝城可以进去吗 编辑:程序博客网 时间:2024/06/08 14:44

1.数据库简介

数据库分类:按照存储模型的不同:网状数据库模型,关系型数据库,树状数据库,面向对象数据库

2.mysql数据库

1.mysql会把自己安装为mysql数据库net start mysql;    --启动mysql服务net stop mysql;     --停止mysql服务2.登录mysql数据库mysql -h localhost -u root - p test;--说明 -p test 指定需要登录的数据库名--     -padmin 表示密码为admin可以简写为mysql -uroot -p;3.退出mysql控制台mysql>quit  ;mysql>exit ;4.控制台信息查看mysql当前信息mysql>status;mysql>select user()  --显示当前用户名mysql>select current_date(); --显示当前日期mysql>select current_time(); --显示当前时间mysql>select current_timestamp();--显示当前时间戳

3.DDL 语句 数据定义语言 包括创建,删除,修改等等

1.列出数据库mysql>show databases; --查看所有的数据库2.切换数据库mysql>use test;--切换到use数据库3.查看当前正在使用的数据库模式mysql>select database();--查看正在使用的哪一个数据库也可以使用 >mysql -uroot -p test --在登录的时候需要登录的数据库4.列出数据表mysql>show tables;--查看指定数据库下面所有的表5.查看表结构mysql>desc columns;--查看表结构6.创建数据库mysql>create database JavaWeb character set utf8;7.删除数据库mysql>drop database JavaWeb;8.修改数据库--注意权限使用root账号mysql>alter database JavaWeb character set utf8;9.创建表create table if not exists tb_test --不存在则创建(id int primary key auto_increment ,--int型主键自增name varchar(200) not null,--字符串类型 最大长度200salary float(11,2),--小数点 保留2位小数birthday date,--日期类型sleep time,--时间类型ts timestamp,--时间戳类型description text,--大量文本picture blob,--二进制类型);10.创建临时表 只在当前数据库内有效 断开连接就删除create temporary table tb_tmp(id integer,name varchar(100),primary key(id));11.修改表mysql>drop table tb_test;--数据会一起删除12.修改表结构mysql>alter table tb_test drop name;--删除列namemysql>alter table tb_test add name varchar(200) not null defalut "JavaWeb";--添加列名mysql>alter table tb_test change name c_name;--修改列的格式

4.DML数据库操作语言

1.插入数据库语句mysql>insert into tb_test(name,birthday,sex)values('aa','2000-10-10','M')2.查询数据库mysql>select * from tb_test;mysql>select * from tb_test where id>100;mysql>select * from tb_test where name like '%李';3.删除数据mysql>delete from tb_test where id=1;4.修改数据mysql>update tb_test set birthday='2010-10-10' where id=2;5.创建,删除,授权用户mysql>use mysql;mysql>create user JavaWeb;mysql>drop user JavaWeb;--用户授权省略6.批量执行mysql语句;把sql语句写在文件里面mysql>source c:\init.sql

5.mysql客户单管理工具
1.图形化界面工具
mysql GUI tools
2.myEclipse管理工具配置jdbc
3.Apache Derby嵌入式数据库配置

使用derby记录日志

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!----><jsp:directive.page import="org.apache.derby.jdbc.EmbeddedDriver"/><jsp:directive.page import= "java.sql.DriverManager"/><jsp:directive.page import="java.sql.Connection"/><jsp:directive.page import="java.sql.Statement"/><jsp:directive.page import="java.sql.ResultSet"/><jsp:directive.page import="java.sql.SQLException"/><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>    <title>My JSP 'derby.jsp' starting page</title>    <style type="text/css">td,div{font-size:12px;} div{line-height:22px;}</style>  </head>    <body>  <!-- 说明:jdbc编程的一般步骤 -->  <!--注册数据库驱动 获取数据库连接,获取statement,创建数据表或者更新插入数据库,查询数据库,遍历结果集显示所有的结果  -->  <%    DriverManager.deregisterDriver(new EmbeddedDriver());//注册数据库驱动    Connection conn=DriverManager.getConnection("jdbc:derdy:D:\\database_derby;create=true");//获取数据库连接    Statement stmt=conn.createStatement();//创建statement    try{//使用statement对象创建表格        stmt.execute("create table tb_test"                +"(id integer GENERATED ALWAYS AS INDENTIFY (START WITH 1,INCREMENT BY 1),)"                +"ip varchar(100),"                +"host text,"                +"date timestamp,"                +"primary key(id))");        out.println("<div>表 tb_test不存在.创建表 tb_test成功.</div>");    }catch(SQLException e){        out.println("<div>tb_test存在</div>");    }    try{        int rows=stmt.executeUpdate(//插入一条数据                "insert into tb_test (ip,host,date)"                +"values('"+request.getRemoteAddr()+"','"+request.getServerName()+"'current_timestamp)");        out.println("<div>插入行插入"+rows+"行数据.</div>");    }catch(SQLException e){        out.println("<div>插入数据失败.原因:+"+e.getMessage()+"+.</div>");    }    ResultSet rs=stmt.executeQuery("select * from tb_test");//获取所有的记录数    out.println("<table border=1>");//设置表头    out.println("<tr>");    out.println("<td width=100 algin=center>访问次序</td>");    out.println("<td width=100 algin=center>访问者</td>");    out.println("<td width=100 algin=center>使用的域名</td>");    out.println("<td width=100 algin=center>访问日期</td>");    out.println("</tr>");    while(rs.next()){//循环遍历完所有的结果集        out.println("<tr>");        out.println("<td align=center>"+rs.getInt("id")+"</td>");        out.println("<td align=center>"+rs.getString("ip")+"</td>");        out.println("<td align=center>"+rs.getString("host")+"</td>");        out.println("<td align=center>"+rs.getDate("date")+"</td>");        out.println("</tr>");    }    out.println("</table>");  %>  </body></html>
0 0
原创粉丝点击