JavaSE基礎篇—MySQL基礎知識點

來源:互聯網
上載者:User

標籤:ons   column   java   啟用   school   ref   管理系統   mod   str   

MySQL

  MySQL是一種關聯式資料庫管理系統,是一種開源軟體。可搭配PHP和Apache可以有更好的效能,也可以工作在眾多的平台上。Orcale是一個資料庫建立多個使用者,MySQL是一個使用者建立多個資料庫。

  安裝注意事項:

  連接埠:3306;預設使用者:root;字元集:設定為gbk或者utf-8;

  安裝時可以啟用遠程登陸,建立匿名使用者;

  可以安裝圖形化介面,方便操作

MySQL列的類型:

 數實值型別:

  smallint():佔2個位元組

  int():佔4個位元組,integer是int的同義字,也是佔4個位元組

  bigint():佔8個位元組

  float(x,y):佔4個位元組  其中x表示修飾數值一共x位,y表示小數點後一共y位

  double(x,y):8個位元組  x,y和float用法一樣

   字串類型:

  char():固定字串的長度, sex char(2),不同於orcale中sex char(3),MySQL中子一個子佔2個位元組

  varchar():可變長度的字串長度,不同於orcale中varchar2()表示可變長度的字串

  varchar():使用起來比較靈活,char是處理速度比較快。

 日期/時間類型:

  date:‘YYYY-MM-DD‘,或者‘YYYY/MM/DD‘,不同於orcale中日期的格式是‘1-12月-2018‘

  datetime:‘YYYY-MM-DD HH:MM:SS‘詳細日期,包括時分秒

  timestamp:‘YYYY-MM-DD HH:MM:SS‘ 時間戳記

  datetime和timestamp的比較(瞭解即可,一般用datetime):

  相同點:datetime和timestamp列的顯示格式相同,顯示的格式都是固定在19個字元,格式為:YYYY-MM-DD HH:MM:SS

  不同點:範圍不同。datetime格式顯示和檢索DATETIME值,支援的範圍是‘1000-01-01 00:00:00‘到‘9999-12-31      23:59:59‘TIMESTAMP值不能早於1970或晚於2037

  儲存不同。datetime:8個位元組儲存,實際格式是date格式,與時區不轉換;timestamp:4個位元組儲存,以UTC格式儲存,並且有時區的轉換,儲存時對當前時區進行轉換,檢索時再轉回當前時區。

  主鍵自增:auto_increment,不同於orcale使用sequence。

MySQL文法:

 1.資料定義語言 (Data Definition Language)(create,drop,alter等語句)

  create database school; //建立一個資料庫 

  use school;    //指定預設的資料庫進行操作,進行資料操作前提必須指定預設的資料庫

  create table student();  //在預設資料庫下建立一個學生資訊表

  show columns from student;  //顯示一個給定表中各列的資訊,顯示自定表的結構

  show tables;   //展示預設資料庫下所有的表

  show databases;  //展示所有的資料庫

  show create database  //顯示用於給定資料庫create database語句,也可以使用 show create schema;

  show create table student;   //顯示建表sql語句,顯示指定表結構

  drop table student;    //刪除student表

  drop database school   //刪除school資料庫

 2.資料查詢語言(select語句)

  select * from student;  //查詢student表中的資訊  

  select * from student where sno > 5 and sex = ‘男‘

  select count(*) from student;  //查詢表中資料總行數

  desc student;    //查看錶的結構

 3.資料操作語言(insert,delete,update等語句)  針對的是表中的資料

  insert into student values();  //跟Orcale相似,都是在表中加資料

  insert into student (sno,sname,sex)values (1,‘張三‘,‘男‘)

  delete from student where sno = 1;  //刪除student表中編號是1的行資料

  update student set sname = ‘lisi‘ where sno = 3;  //將student表中編號是3的行資料中的sname 覆蓋為‘lisi‘

 4.資料控制語言(grant,revoke,commit,rollback等語句)  針對的是資料庫或者表

 5.更改表結構語句:

  alter table student add email varchar() unique;  //給student表添加一列email,條件是:唯一不重複

  alter table student add (email varchar(30) unique)  //也是給student表增加一列資訊

  alter table student rename to student2;  //修改表名,student變為student2

  alter table student modify email varchar(20)  not null;  //修改列的屬性

  alter table student drop email;  //刪除列

 6.多表查詢和外部索引鍵關聯:

  多表查詢都是建立在多個表之間外部索引鍵關聯的基礎上。沒有外部索引鍵關聯不存在多表查詢

  //建立主人和寵物的表,通過mid和masterid外部索引鍵關聯

  alter table pet add constraint fk_masterid foreign key(masterid(外鍵)) references master(mid)(關聯鍵)

  不同於Orcale中添加時使用constraints,其他的一樣

  alter table pet drop foreign key fk_masterid;  //刪除外部索引鍵關聯

  不同於Orcale中刪除使用alter table pet drop fk_masterid;   

mysql> select * from master m join pet p on(m.mid = p.masterid);
+-----+----------+-----+-----+-----------+----------+
| mid | sname | age | pid | pname      | masterid |
+--+---------------+-----+------+--------------+-------------+
| 1 | zhangsan | 18  | 1     | luckey      |       1       |
| 1 | zhangsan | 18  | 2     | xiaoxiong |       1       |
| 1 | zhangsan | 18  | 4     |   luckey    |       1       |
| 2 |     lisi         | 18  | 3     |    uzi         |       2       |
| 2 |     lisi        |  18  | 5     | xiaoxiong |       2       |
| 3 | wangwu    | 18  | 6     |    uzi         |        3      |
| 4 | wangwu2 | 18   | 7     | luckey      |      4        |
| 4 | wangwu2 | 18   | 8     | xiaoxiong |      4        |
| 4 | wangwu2 | 18   | 9     |    uzi         |      4        |
+--+--------------+-------+-----+--------------+-------------+

7.分頁語句:

  select * from table student limit (start-1)*limit ,limit;  //其中start是頁碼,limit是每頁顯示的條數

  在MySQL中以help_category為例

  select * from help_category limit 11,5;  //表示從第12行開始的,5個資料 

mysql> select * from help_category limit 11,5;
+------------------+-----------------------------------------------+--------------------+-----+
| help_category_id | name | parent_category_id | url |
+------------------+-----------------------------------------------+--------------------+-----+
| 12 | Encryption Functions | 39 | |
| 13 | LineString properties | 35 | |
| 14 | Miscellaneous Functions | 39 | |
| 15 | Logical operators | 39 | |
| 16 | Functions and Modifiers for Use with GROUP BY | 36 | |
+------------------+-----------------------------------------------+--------------------+-----+

8.匯入和匯出

  方法1(圖形介面操作):直接對錶進行操作,選中資料庫---->右擊選擇 轉儲SQL檔案----->選擇地址儲存sql檔案;匯入時選中要匯入的資料庫---->右擊選擇 運行SQL檔案---->匯入相應的sql檔案。

  方法2(命令列操作):在DOS命令下操作

  匯出:mysqldump -uroot -proot 資料庫名 > 目錄下的sql檔案(d:\school.sql)    //到處整個資料庫

  mysqldump -uroot -proot 資料庫名 表名 >目錄下的sql檔案  //只到處一個表

  匯入:mysql -root -proot 資料庫名 < 目錄下的sql檔案  //一般使用這種

  mysql >source 目錄下的sql檔案

 

 

      

      

  

       

 

 

      

    

  

  

JavaSE基礎篇—MySQL基礎知識點

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.