5290589 发表于 2016-10-24 01:14:36

尚學堂科技_馬士兵_BBS項目補充_MySQL簡明視頻教程 笔记

  如果你的root现在有密码了,那么修改密码为abc的命令是:
mysqladmin -u root -p password youyou
注意,命令回车后会问你旧密码,输入旧密码之后命令完成,密码修改成功。
  ---------02_mysql_started
create database mydata; //创建一个数据库
use mydata;  //使用当前已经创建的数据库
create table dept //创建dept表
(
deptno int primary key,
dname varchar(14),
loc varchar(13)
);
  create table emp
(
empno int primary key,
ename varchar(10),
job varchar(10),
mgr int,
hiredate datetime,
sal double,
comm double,
deptno int,
foreign key (deptno) references dept(deptno) #外键deptno参考dept表的deptno
);
  命令
\. 执行一个SQL的脚本文件,用一个文件名作为参数
例如 \. c:\\mysql_script\\mydata.sql
  create table salgrade  #创建薪水等级表salgrade
(
grade int primary key,
losal int,
hisal int
);
  ---------03_page_seperation
show databases;  #查看当前MYSQL环境下有多少个数据库
show tables;  #查看当前使用中数据库下面有多少张表。
desc dept;  #查看dept表的表结构
insert into dept values (10,'A','A'); #往dept表里面插入一条记录
commit;     #提交。使前面输入的一段DML语句生效
  select * from dept order by deptno desc limit 3, 2; #倒序,从第3条往后数2条记录
  ---------04_auto_increment
drop table article;   #删除article这个已经存在的表。
  create table article
(
id int primary key auto_increment, #创建一个自动递增字段
title varchar(255)
);
  insert into article values(null,'a'); #插入递增值的方式用null
insert into article (title) values ('c'); #插入递增值的 方式2
  ---------05_datetime;
select now();    #取得当前日期,其中now()是函数
select date_format(now(), '%Y-%m-%d %H:%i:%s');  //格式化当前日期
  insert into emp values(9999,'test','clerk',7369,'1981-12-23 12:23:23',8000,80,10); #插入日期,用字符串,符合日期特定格式即可
  ---------06_mysql_jdbc1
 ---------07_mysql_jdbc2
引入相应的JAR驱动包后,输入关键代码:
conn =
DriverManager.getConnection("jdbc:mysql://localhost/mydata?user=root&password=mima");
stmt = conn.createStatement();
rs = stmt.executeQuery("select * from dept");
  ---------08_article_1
\. D:\share\BBS\WebContent\bbs.sql #执行一段SQL脚本语句
 select database();   #显示当前所操作的数据库
  ---------09_article_2
#数据库表里面的中文化问题
alter database bbs character set gbk; #设置字符集先
show full columns from tablename; #查看表里面(中文)字段所用的字符集
status; ## 查看全局的字符集设置,如果以下4个都为同样的,比如gbk则中文支持一定OK,
        ## 如果不一样,则更改my.ini默认的配置文件。
。。。
  Server characterset: gbk
  Db characterset: gbk
  Client characterset: gbk
  Conn. characterset: gbk
。。。
#设置好字符集之后,在Lomboz eclipse下面展示就不会出现中文乱码了
#递归写书的源码如下:
import java.sql.*;
  public class ArticleTree {
 public static void main(String[] args) {
  new ArticleTree().show();
 }
 
 public void show() {
  Connection conn = null;
  Statement stmt  = null;
  ResultSet rs = null;
  try {
   conn =
          DriverManager.getConnection("jdbc:mysql://localhost/bbs?user=root&password=youmeta");
   stmt = conn.createStatement();
   rs = stmt.executeQuery("select * from article where pid = 0");
   while(rs.next()) {
    System.out.println(rs.getString("cont"));
    tree(conn, rs.getInt("id"), 1);
   }    
  } catch (SQLException e) {
   e.printStackTrace();
  }  finally {
   try {
    if(rs != null) {rs.close(); rs = null;}
    if(stmt != null) {stmt.close(); stmt = null;}
    if(conn != null) {conn.close(); conn = null;}
   } catch (SQLException e) {
    e.printStackTrace();
   }
  }
 }
 
 private void tree(Connection conn, int id, int level) {
  Statement stmt = null;
  ResultSet rs  = null;
//  StringBuffer strPre = new StringBuffer("");
//  for(int i=0; i<level; i++) {
//   strPre = strPre.append("    ");
//  }
  
  String strPre = new String("");
  for(int i=0; i<level; i++) {
   strPre = strPre + "    ";
  }
  
  try {
   stmt = conn.createStatement();
   String sql = "select * from article where pid = " + id;
   rs = stmt.executeQuery(sql);
   while(rs.next()) {
    System.out.println(strPre + rs.getString("cont"));
    if(rs.getInt("isleaf") != 0) {
     tree(conn, rs.getInt("id"), level+1);
    }
   }
  } catch (SQLException e) {
   e.printStackTrace();
  }  finally {
   try {
    if(rs != null) {rs.close(); rs = null;}
    if(stmt != null) {stmt.close(); stmt = null;}
   } catch (SQLException e) {
    e.printStackTrace();
   }
  }
 }
}
页: [1]
查看完整版本: 尚學堂科技_馬士兵_BBS項目補充_MySQL簡明視頻教程 笔记