為了賬號安全,請及時綁定郵箱和手機立即綁定

Java Web基礎入門,Springboot入門(8)

2017.12.07 19:45 1091瀏覽

前言

語言都是相通的,只要搞清楚概念后就可以編寫代碼了。而概念是需要學習成本的。

本文首發于博客園-Ryan Miao. 由于限制2000字,只能分多篇。

database

MySQL以不同的database為單位存儲數據。所以,開發數據庫的時候,先要創建一個database。

查看已有的database

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

創建我們的database

mysql> create database if not exists springboot_demo charset utf8 collate utf8_general_ci;
Query OK, 1 row affected (0.01 sec)

進入database:

mysql> use springboot_demo
Database changed

創建表

查看當前database的所有表

mysql> use springboot_demo
Database changed
mysql> show tables;
Empty set (0.00 sec)

創建一個表room

mysql> create table if not exists room (
    ->   id INT(11) NOT NULL AUTO_INCREMENT,
    ->   `name` VARCHAR(80) NOT NULL,
    ->   `comment` VARCHAR(200),
    ->   create_date DATETIME,
    ->   update_date DATETIME,
    ->   PRIMARY KEY(id)
    -> )ENGINE=InnoDB DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.08 sec)
  1. create table 創建表
  2. if not exists 如果不存在則創建
  3. room 表名
  4. id 表字段,字段名為id, NOT NULL表示會給這個字段建立非空索引,當存入空時會報錯。如果不寫明NOT NULL,則默認該字段可以為空。
  5. AUTO_INCREMENT表示這個字段會自動增加,即當保存一條記錄的時候,如果不傳入id這個字段,則該字段會從系統序列中取出一個。該序列是一個遞增序列。即實現了每次id都增加1
  6. 反引號包裹字段名是為了防止與關鍵字沖突
  7. INT 是指數字類型,括號里的11是指MySQL里的顯示寬度,和最大值取值范圍無關,是指需要多少位來表示這個數字,不夠長度的補齊。int最大值為2147483647
  8. VARCHAR是變長字符串,即當存儲1個字符,則占用空間就是1個字節,當存儲2個字符,則占用空間為2個字符。與之對應的是char定長。括號里的是指字符的個數,即最大允許200個字符。
  9. DATA是日期類型,通常每條記錄都需要記錄創建時間和更新時間
  10. PRIMARY KEY表示這個字段是主鍵,即該記錄的唯一標識符。

插入一條記錄

mysql> insert into room(`name`, `comment`, `create_date`, `update_date`) values ("大床房", "", "2017-11-26","2017-11-26
11:00:00");
Query OK, 1 row affected, 1 warning (0.01 sec)

mysql>insert into room(`name`, `comment`, `create_date`, `update_date`) values ("雙人床房", "有窗戶", "2017-11-26","201
7-11-26 11:00:00");
Query OK, 1 row affected, 1 warning (0.01 sec)

查看所有記錄

mysql> select * from room;
+----+----------+---------+-------------+-------------+
| id | name     | comment | create_date | update_date |
+----+----------+---------+-------------+-------------+
|  1 | 大床房   |         | 2017-11-26  | 2017-11-26  |
|  2 | 雙人床房 | 有窗戶  | 2017-11-26  | 2017-11-26  |
+----+----------+---------+-------------+-------------+
2 rows in set (0.00 sec)

更新一條記錄

mysql> update room set comment="無窗" where id=1;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select * from room;
+----+----------+---------+-------------+-------------+
| id | name     | comment | create_date | update_date |
+----+----------+---------+-------------+-------------+
|  1 | 大床房   | 無窗    | 2017-11-26  | 2017-11-26  |
|  2 | 雙人床房 | 有窗戶  | 2017-11-26  | 2017-11-26  |
+----+----------+---------+-------------+-------------+
2 rows in set (0.00 sec)

刪除一條記錄

mysql> delete from room where id = 2;
Query OK, 1 row affected (0.01 sec)

mysql> select * from room;
+----+--------+---------+-------------+-------------+
| id | name   | comment | create_date | update_date |
+----+--------+---------+-------------+-------------+
|  1 | 大床房 | 無窗    | 2017-11-26  | 2017-11-26  |
+----+--------+---------+-------------+-------------+
1 row in set (0.00 sec)

什么是數據操縱語句

以下來自博客園

SQL語言共分為四大類:數據查詢語言DQL,數據操縱語言DML,數據定義語言DDL,數據控制語言DCL。

1. 數據查詢語言DQL

數據查詢語言DQL基本結構是由SELECT子句,FROM子句,WHERE
子句組成的查詢塊:

SELECT <字段名表>
FROM <表或視圖名>
WHERE <查詢條件>

2 .數據操縱語言DML

數據操縱語言DML主要有三種形式:

1) 插入:INSERT
2) 更新:UPDATE
3) 刪除:DELETE

3. 數據定義語言DDL

數據定義語言DDL用來創建數據庫中的各種對象-----表、視圖、
索引、同義詞、聚簇等如:

CREATE TABLE/VIEW/INDEX/SYN/CLUSTER

        表 /視圖/ 索引/ 同義詞/ 簇

DDL操作是隱性提交的!不能rollback.

4. 數據控制語言DCL

數據控制語言DCL用來授予或回收訪問數據庫的某種特權,并控制
數據庫操縱事務發生的時間及效果,對數據庫實行監視等。如:

1) GRANT:授權。

2) ROLLBACK [WORK] TO [SAVEPOINT]:回退到某一點。
回滾---ROLLBACK
回滾命令使數據庫狀態回到上次最后提交的狀態。其格式為:
SQL>ROLLBACK;

3) COMMIT [WORK]:提交。

在數據庫的插入、刪除和修改操作時,只有當事務在提交到數據
庫時才算完成。在事務提交前,只有操作數據庫的這個人才能有權看
到所做的事情,別人只有在最后提交完成后才可以看到。
提交數據有三種類型:顯式提交、隱式提交及自動提交。下面分
別說明這三種類型。

(1) 顯式提交
用COMMIT命令直接完成的提交為顯式提交。其格式為:
SQL>COMMIT

(2) 隱式提交
用SQL命令間接完成的提交為隱式提交。這些命令是:
ALTERAUDITCOMMENTCONNECTCREATEDISCONNECTDROP
EXITGRANTNOAUDITQUITREVOKERENAME

(3) 自動提交
若把AUTOCOMMIT設置為ON,則在插入、修改、刪除語句執行后,
系統將自動進行提交,這就是自動提交。其格式為:
SQL>SET AUTOCOMMIT ON

到此,增刪改查語句復習完畢。開始引入項目。

下一步,項目引入MySQL。

點擊查看更多內容

本文原創發布于慕課網 ,轉載請注明出處,謝謝合作

3人點贊

若覺得本文不錯,就分享一下吧!

評論

相關文章推薦

正在加載中
意見反饋 幫助中心 APP下載
官方微信

舉報

0/150
提交
取消
lpl竞猜