日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql 即学a又学b_MySQL学习第一天

發布時間:2023/12/20 数据库 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql 即学a又学b_MySQL学习第一天 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、 數據庫:

*學習重點:創建數據庫/向表添加記錄/查詢記錄

數據庫概念:文件系統(存儲和管理)

數據庫軟件介紹:Oracle/MySQL/SQL server…

分類:

關系型數據庫:關系模型組織數據

非關系型數據庫:鍵值對關系存儲

二、 mysql數據的存儲方式:

一臺數據庫服務器中會創建很多個數據庫(一個項目會創建一個數據庫)

在數據庫中會創建很多張表(一個實體會創建一個表)

在表中會有很多記錄(一個對象的實例會添加一條新的記錄)

三、 數據庫中表和Java中類的對應關系:

數據庫中以表的方式存儲數據,類似于Java中的類,每個字段會有相應的數據類型;

表名 – Java類

表中的字段 – 類中的屬性

表中的記錄 – 類創建的對象

瀏覽器 — Web服務器 — 數據庫服務器

用戶 項目

四、 SQL: (結構化查詢語言:Structure Query Language)

1)概述:定義了操作所有關系型數據庫的規則;

2)SQL通用語法:

1.語句以分號結尾

2.空格和TAB增加可讀性

3.不區分大小寫,關鍵字用大小寫

4.三種注釋; a. -- (通用) b. # (mysql特有) c. /* */

3)SQL分類: (了解)

DDL(Database Definition Language): 操作數據庫/表

DML(Database Manipulation Language): 增刪改表中的數據

**DQL(Database Query Language):查詢表中的數據

DCL(Database Control Language): 授權

五、 DDL: (Definition)操作數據庫/表

1) 操作數據庫 (CRUD)

1. Create:創建

create database 庫名; 創建數據庫

create database 庫名; 創建數據庫

create database if not exists 庫名;

create database 庫名 character set 字符集名;

create database if not exists 庫名 character set 字符集名;

2. Retrieve:查詢

show databases; 查看所有數據庫;

show create database 庫名;查看指定數據庫的字符集(創建語句)

3. Update:修改

alter database 庫名 character set 字符集名;

4. Delete:刪除 (慎用)

drop database 庫名;

drop database if exists 庫名;

5. 使用數據庫

use 庫名; (不加database)

select database();?查看正在使用的數據庫;

2) 操作表 (CRUD)

1. Create:創建

create table 表名 (列名1 數據類型1, 列名2 數據類型2…);

注意: 1.加() 2.最后一列不要逗號

常見數據類型:

數值類型:

int: 整數 eg: age int;

double(m,n):小數

eg:score double(5,2);五位小數,保留兩位;

字符串類型 :

varchar(len):字符串(長度可變) 格式:varchar(字符串長度)

char:字符串(長度固定)

示例: zhangsan 8個字符 張三 2個字符

日期類:

time(HH-mm-ss):時間

date: 日期 格式: yyyy-MM-dd eg:19960227 /1996-02-27

datetime:日期

格式: yyyy-MM-dd HH:mm:ss eg:19960227052013

注意: 如果沒有存值,則默認為 Null

timestamp:時間戳 (stamp郵票)

注意: 沒有存值,默認系統時間;

//示例:

create table student(

id int,

name varchar(30),

score double(5,2),

birthday date(yyyy-MM-dd),

insert_time timestamp

)

2. Retrieve:查詢

show tables; – 查詢所有的表; (并沒有show table 表名;語句)

show create table 表名; – 查看創建表的詳細信息

describe 表名;–查詢表結構;

3. Update:修改 (八太重要)

a) 修改表名

alter table 表名rename to 新表名; – 修改表名

alter table 表名 character set 字符集名;–修改表的字符集

b) 添加一列:

alter table表名 add 列名 數據類型; – 添加新字段

c) 修改列的名稱/類型

alter table 表名 change 列名 新列名 新數據類型;–修改指定的字段

alter table 表名 modify 列名 新數據類型;–修改字段的數據類型

d) 刪除列

alter table 表名 drop 列名; 刪除表的字段

4. Delete:刪除表

drop table 表名;

drop table if exists 表名;

六、 DML: (Manipulation)增刪改表中數據

添加數據:

insert into 表名 (列名1,列名2…) value (值1,值2…);

insert into 表名 value (值1,值2…); – 給所有列添加數據

注意:

1.列名和值要一一對應

2.如果不定義列名,默認給所有列添加值,寫的時候就要寫全,不然報錯;

問題:

在命令窗口添加中文數據時,會報錯;編碼問題;

SHOW VARIABLES LIKE ‘%character_set_%’;模糊查詢變量字符串的設置

刪除數據:

delete from 表名 where 條件; ?按條件刪除數據

注意:不加條件,刪除所有記錄; (慎用) 有多少條記錄就會執行多少次操作;

truncate table 表名; (推薦效率高) – 刪除表,再創建一樣的新表;

truncate :vt. 把…截短;縮短;使成平面

修改數據:

update 表名 set 列名1 = 值1, 列名2 = 值2… where 條件;

注意:不加條件,默認修改所有的記錄;

七、 DQL: (Query)查詢表中的記錄

1. 語法

select

字段列表

from

表名列表

where

條件列表

group by

分組字段

having

分組之后的條件限定

order by

排序

limit 分頁限定

2. 基礎查詢

多個字段的查詢:

select 列名1,列名2...from 表名; 查詢

select * from 表名; 查詢表中所有數據

去重:

select distinct address from student;

計算列:

select 列名1 + 列名2 from student;

注意:如果有null值參與的運算,結果都是null;

解決:select 列名1 + ifnull(列名2, 0) from student;

ifnull(表達式1,表達式2);

表達式1:那個字段需要判斷是否為null;

表達式2:如果是null,則賦值為表達式2;

起別名:

select 列名 as 新列名 from student; -- as可以省略

3. 條件查詢 ( where )

1.格式: where子句后跟條件

2.運算符:

比較運算:

< > <= >= = !=

between 數值1 and 數值2; -- 在..和..之間

in(數值1,數值2...); -- 在..中

is null /is not null ; -- 是否為null

eg: select name,math from student where math is null;

邏輯運算:

且: && / and 或: || /or 非: !

4. 模糊查詢: (like)

占位符:

_ :單個任意字符

% :多個任意字符

eg:

select *from student where name like '馬%'; -- 第一個字為馬的人

select *from student where name like '_馬%'; -- 第二個字為馬的人

select *from student where name like '___'; -- 名字為三個字的人

select *from student where name like '%橋%'; -- 名字中有橋的人

SELECT *FROM student WHERE NAME LIKE '柳_'; -- 名字為兩個且姓柳

因為本人剛開始寫博客,時間有限,沒有編輯文本.

總結

以上是生活随笔為你收集整理的mysql 即学a又学b_MySQL学习第一天的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。