第3天:Java資料庫編程JDBC+MySql

來源:互聯網
上載者:User

MySql/JDBC
1.資料庫測試:/usr/local/mysql/bin
    啟動:net start mysql
    停止:net stop mysql
    串連:mysql -uroot -p
    顯示:show database;
    建立:create database dbname;
    使用:use database;
    顯示表:show tables;
    顯示詳細資料:desc table_name;
2.資料庫的資料類型
    分為三種:數值類、字串類、和日期時間類型;
    (1)數值類:
        整型
            tinyint:    1位元組 非常小的正整數
            smallint:   2位元組 小整數
            mediuint:   3位元組 中等大小的整數
            int:        4位元組 標準整數
            bigint:     8位元組 大整數
        浮點型
            float:      4位元組     單精確度浮點數
            double:     8位元組     雙精確度浮點數
            decimal:    M+2位元組   以字串形式存放的浮點數
        數實值型別資料列的屬性
        unsigned:           不允許資料出現負數
        zerofill:           如果數值小於定義的寬度,則在數值前補0
        null/not null:      設定資料列是否為空白
        default:            指定資料列的預設值
        auto_increment:     該列可產生一個獨一無二的序列
    (2)字串類:(可以存放任何數值,存放文字、圖片、聲音、壓縮包)
        char:固定長度,儲存資料時不夠長度的右邊補空格
        varchar:可變長類型,儲存資料時按實際長度儲存
        blob:二進位字串,可存放大容量資訊
        text:非二進位字串,可存放大容量的資訊
    (3)時間日期類型:
        date:       "YYYY-MM-DD"
        time:       "hh:mm:ss"
        datetime:   "YYYY-MM-DD hh:mm:ss"
        year:       "YYYY"
3.資料庫中的基本操作:create select insert update delete
    create table t_name(is int(10),...);
    drop table t_name;
    delete from t_name;
    insert into t_name values(...);
    select * from t_name;
    select id,name from t_name;
    update t_name set id=2 where id=1;
    alter t_name add column_name char(5);
    修改欄位名和類型:alter t_name change old_column_name new_column_name new_type;
    刪除欄位:alter t_name drop column_name;
    修改欄位屬性:alter t_name modify column_name date;
    例子:
        drop table if exists user;
        create table if not exists user(
        id int not null primary key auto_increment,
        name varchar(40) not null unique,
        age int,
        sex boolean default false,
        email varchar(50),
        phone int(11),
        idcard char(18),
        qq varchar(10)
        )engine=innoDB;
4.分頁瀏覽
    mysql:(查詢從第m條開始的k個記錄)
        每頁pagesize 第n頁
        m = (n-1)*pagesize;
        k = pagesize;
        select * from t_name limit m,k;
    oracle:
        select id, name, age from(
            select id, name, age, rownum rn from user where rn < m+k
        ) where rn >= m;
5.JDBC
    (1) 註冊驅動
        Class.forName("com.mysql.jdbc.Driver"); 驅動名:mysql-connection-java-bin.jar;
        Class.forName("oracle.jdbc.driver.OracleDriver"); 驅動名:ojdbc14.jar;
    (2) 建立串連
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db_name", username, password);
        Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:db_name", username, password);
    (3) 通過串連(Connection)建立Statement對象
        Statement stmt = conn.createStatement();
        PreparedStatement ps = conn.prepareStatement(sql);
    (4) statement執行sql
        stmt.executeQuery();
        ps.executeQuery();
        ps.set(key,value);
        執行sql的三種方法:
            ResultSet executeQuery();   ---select
            int executeUpdate();        ---insert update delete
            boolean execute();          ---可以執行以上兩種
    (5) 處理結果並返回
    (6) 關閉資源
        rs.close();
        stmt.close();
        conn.close();
6.補充(設定編碼問題)
    (1) 建立資料庫時啟動mysql使用參數
        mysql -uroot --default -character  -set utf8;
    (2) 建立資料庫
        create database summer(庫名) default character set utf8;
        執行指令碼
    (3) 建立表
        create table emp(表名)(列表……) default character set utf8;
    (4) sql指令碼的執行
        source /home/XX.sql
    (5) 修改mysql資料庫連接
        jdbc:mysql://localhost:3306/dy(庫名)?useUnicode=true&characterEncoding=utf8;

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.