第68節:Java中的MYSQL運用從小白到大牛

標題圖

第68節:Java中的MYSQL運用從小白到大牛javascript

前言

學習java必備要求,學會運用!!!css

字數

常見關係化數據庫html

效果

BootStrap是輕量級開發響應式頁面的框架,全局css組件,js插件.柵格系統是將頁面的寬度分爲12等分.java

bootstrap教程,SQLmysql

col-xs-*: 手機屏幕
col-sm-*: 平板
col-md-*: PC電腦
col-lg-*: 超大屏幕
複製代碼

數據庫crud操做jquery

數據庫,什麼是數據庫,數據的做用有哪些呢?redis

數據庫就是一個文件系統,如文件夾目錄同樣,存儲數據,好久好久之前是用sql命令來操做.算法

數據庫介紹,sql數據庫是structured query language 結構化查詢語言的縮寫,sql是爲數據庫而創建的操做命令集,是一種功能齊全的數據庫語言.咱們在使用它的時候,只要發出命令,就能夠展現數據了,sql功能強大啊,可是也是很容易進行學習,使用起來也很方便呢,sql已經成爲了數據庫操做的基礎,而且全部的數據庫基本上都支持sql.spring

sql數據庫 是結構化查詢語言, 簡稱爲sql數據庫, 英文名: structured query language, 功能齊全的數據庫語言.sql

sql數據庫的優勢:

它是非過程化語言,是統一的語言,是全部關係數據庫的共同語言.

一個sql數據庫是表的集合,它是由一個或多個sql模式定義的,sql數據表由行集構成,一行是列的序列集合,每行與行對應的一個數據項,一個表或者一個基本表或者是視圖,.基本表是實際尺寸在數據庫的表,而視圖是由若干基本表或其餘視圖構成的表的定義.一個基本表能夠拷一個或多個存儲文件,一個存儲文件也能夠存放一個或多個基本表,每一個存儲文件與外部存儲上的一個物理文件對應.

數據庫是按照數據結構來組織,存儲和管理數據的倉庫,它產生於距今六十多年前.數據庫的基本結構分三個層次,英文名database數據庫,有三種數據種類.

數據庫按照數據結構來組織,存儲和管理數據的創建在計算機存儲設備上的倉庫.數據庫是能夠在計算機內進行長期存儲的,有組織,可共享的數據集合.

做用:用來存儲數據,具備訪問權限能夠限制不一樣人的不一樣操做.

java開發工程師

2年以上的經驗,基礎號 理解io,多線程,集合等基礎框架 對jvm原理的瞭解. mvc,spring,mybatis,Webservice等 主流開發框架和技術,各類算法,數據庫查詢語言 熟悉mysql,oracle等數據庫,有必定的數據庫設計經驗,瞭解Linux,Unix等. html,css,javascript,jquery, eclipse,myeclipse

瀏覽器: html/css/js用於顯示頁面 服務器: javaee後臺程序 數據庫

常見的數據庫:

mysql: 是開源免費的, 適用於中小型企業的數據庫. sun收購mysql, sun公司被oracle收購了. 而後就開始收費了.

mariadb: 是mysql開源版的一個分支.

oracle: 甲骨文公司. 收費軟件,適用於大型電商網站.

sun公司擁有了java.google收購了安卓. 就致使了 sun->google

db2: IBM公司,解決方案:軟件和硬件.銀行系統大多采用db2.

sqlserver: 用於windows裏面.大學教學採用sqlserver,圖形化工具.

非關係型數據庫: key : value

mongodb:

redis:

關係型數據庫:

用來描述實體與實體之間的關係.

E-R關係圖

效果

效果

E-R表明:

實體:方框,屬性:橢圓,關係:菱形.

mysql數據庫服務器 mysql server

進行刪除mysql

效果

效果

MYSQL的安裝

效果

有「Typical(默認)」、「Complete(徹底)」、「Custom(用戶自定義)」三個選項,選擇「Custom」,按「next」鍵繼續

效果

效果

效果

效果

效果

MySQL Server, Client Programs, Documentation同理,點擊.

效果

Detailed Configuration(手動精確配置)」、「Standard Configuration(標準配置)」

效果

Developer Machine(開發測試類,mysql佔用不多資源)」、「Server Machine(服務器類型,mysql佔用較多資源)」、「Dedicated MySQL Server Machine(專門的數據庫服務器,mysql佔用全部可用資源)」

效果

效果

效果

Decision Support(DSS)/OLAP(20個左右)」、「Online Transaction Processing(OLTP)(500個左右)」、「Manual Setting(手動設置,本身輸一個數)」

效果

通常選UTF-8

效果

效果

mysql語句

DDL數據定義語言,用於定義數據庫,

create建立
drop刪除
alter修改
複製代碼

DML: 數據操做語言,用於操做數據

insert 插入
update 修改
delete 刪除
複製代碼

DCL: 數據控制語言,定義訪問權限,取消訪問權限,安全設置.

grant
複製代碼

DQL: 數據查詢語言:

select 查詢
from 
where
複製代碼
create database 建立數據庫
create database dashucoding;

create database dashucoding character set字符集 collate校對規則
create database 

create database dashucoding character set utf8;
複製代碼

數據庫的建立

登陸數據庫 mysql -uroot -padmin 建立數據庫 create database stu; 建立數據庫同時指定字符集 create database 數據庫的名字 character set 字符集 create database stu character set utf8

字符集是一套符號和編碼,校對規則 是在字符集內用於比較字符的一套規則.

create database stu character set utf collate utf8_bin;

展現數據庫 show databases;

informartion_schema
performance_schema
mysql
複製代碼

查看數據庫定義時的語句 show create database 數據庫的名字 show create database stu;

修改數據庫

修改數據的字符集 alter database 數據庫的名字 character set 字符集

alter database stu character set gbk;

刪除數據庫

drop database 數據庫的名字 drop database stu;

切換數據庫 use 數據庫名字 use student;

查看當前使用的數據庫 select database();

建立表

create table 表名(列名 列的類型 約束,列名2 列的類型 約束);
複製代碼

create table student ( sid int primary key, sname varchar(31), sex int, age int);

列的約束: 主鍵的約束: primary key, 惟一的約束: unique, 非空約素: not null,

列的類型: char: 固定長度 varchar: 可變長度

date:

date : YYYY-MM-DD
time : hh:mm:ss
datetime : YYYY-MM-DD hh:mm:ss 默認值爲null
timestamp : YYYY-MMM-DD hh:mm:ss 默認使用當前時間
複製代碼

text:用了存放文本 blob存放二進制

查看錶 show tables 查看錶的定義 show create table student; 查看錶的結構 desc student; 修改表 add添加列 modify修改列 change修改列名 drop刪除列 renamme修改表名

添加列 alter table 表名 add 列名 列的類型 列的約束 alter table student add chengji int not null; 修改列 alter table student modify sex varchar(2); desc student; 修改列名 alter table student change sex gender varchar(2); 刪除列 alter table student drop chengji;

修改表名 rename table student to dashucoding; 修改表的字符集 show create table student; alter table student character set gbk; 刪除表 drop table student;

數據庫: sql的分類: DDL數據庫的定義,與表的結構: create, drop, alter

DML數據操縱語言 insert update delete

DCL數據控制語言 設置用戶的訪問權限

DQL數據查詢語言 select form where

數據庫 建立數據庫 create database 數據庫的名字 查看數據庫 show databases;查看全部的數據庫 查看數據庫定義 show create database 數據庫名字 select database();查看當前使用的數據庫 修改數據庫 alter database character set 字符集 刪除數據庫 drop database 數據庫名字 選中數據庫 use數據庫的名字

表數據的操做 建立表create table 表名(列名 列的類型 約素); 列的約素: 主鍵的約素:primary key 惟一約素: unique 非空約素: not null

刪除表:drop table 表名 查看錶:show tables 查看當前數據庫中全部的表名 show create table 表名 查看錶的定義結構 desc 表名;查看錶的結構 添加列 alter table 表名 add 列名 列的類型 列的約束 修改列 alter table 表名 modify 列名 列的類型 列的約束 修改列名 alter table 表名 change 舊列名 新列名 列的類型 列的約束 刪除列 alter table 表名 drop 列名 表的字符集 alter table 表名 character set 字符集 修改表名 rename table 舊錶名 to 新的表名

表中數據的插入

sql完成對錶中數據的操做 插入數據: insert into 表名 (列名1, 列名2, 列名3) values (值1, 值2, 值3);

insert into studnet(sid,sname,sex,age) values (1, 'dashu', 1, 23); 簡單寫法 insert into student values(2,'dashu', 1, 23); 查看錶中的數據 select * from student;

批量插入 insert into student values (3,'da',1,32),(4,'coding',1,32);

解決亂碼的問題: 修改my.ini配置,先暫停服務,57行修改gbk,保存重啓便可.

刪除的操做: delete from 表名 [where條件]; delete from student where sid=6;

delete from student;會刪除全部的數據;

delete刪除數據和truncate刪除數據有什麼區別?

delete: 屬於DML 一條一條的刪除表中的數據. truncate: 屬於DDL 先刪除表再重建表.

如何刪除的數據比較少,delete比較高效,刪除的數據多,就truncate比較高效.

查詢

select [distinct] [*] [列名,列名2] from 表名 [where 條件];

更新表:

update 表名 set 列名=列的值, 列名2=列的值2 [where 條件];

update student set sname='dahsu' where sid=5

表數據的操做 insert into 表名 values(值1,值2,值3)

刪除記錄 delete from 表名 [where 條件] 更新 update 表名 set 列名=列到的值 [where 條件];

查看數據 select * from student;

select查詢 數據查詢的操做 select [distinct 可選參數,去除重複的數據] [*] [列名,列名2] from 表名 [where 條件];

distinct: 去除重複的數據.

create table category(cid int primary key auto_increment, cname varchar(10), cdesc varchar(31) );

插入數據 insert into category values (null, 'dashu', 'dashucoding'); 查詢數據 select * from category;

create table product(
 pid int primary key auto_increment,
 pname varchar(10),
 price double,
 pdate timestamp,
 cno int
);
複製代碼

select * from product; 查詢商品名稱和商品價格: select pname,price form product;

別名查詢,關鍵字爲as,能夠省略 別名: select p.pname, p.price form product p; select p.pname, p.price from product as p;

列別名: select pname as 商品名稱, price as 商品價格 from product; select pname 商品名稱, price 商品價格 from product;

去除重複內容: select price from product;

select distinct price from product;

select *,price*1.5 as 折後價 from product;

select * from product where price > 100;

like: 模糊查詢:

_: 表明一個字符
%: 表明多個字符
複製代碼

in查詢 在某個範圍內的值 select * from product where con in(1,2,3);

排序查詢:order by關鍵字 asc: ascend升序 desc: descend降序

按照價格排序: select * from product order by price; select * from product order by price desc降序 select * from product where pname like '%dashu%'; select * from product where pname like '%dashu%' order by price asc;

聚合函數

// 一些函數
sum(): 求和
avg(): 求平均值
count(): 統計數量
max(): 最大值
min(): 最小值
複製代碼

select sum(price) from product; select avg(price) from product; select count(*) from product;

select avg(price) from product; select * from product where price > (select avg(prive) from product);

分組: group by

select con, count(*) from product group by cno;

select cno, avg(price) from product group by con;

having關鍵字

select cno, avg(price) from product group by con having avg(price) > 60;

select ... from ... where .. group by .. having .. order by ..

from.. where.. group by ... having.. select .. order by ...
複製代碼

複習

SQL分類:
DDL: 數據庫的定義: create, drop, alter
DML: 數據操縱語言: insert, update, delete
DCL: 數據控制語言: 設置用戶的訪問權限 
DQL: 數據查詢語言: select, from, where
複製代碼
表中數據操做:
CRUD
插入數據: insert into 表名 (列名1,列名2) values(值1,值2);
insert into 表名 values(值1,值2);
批量插入: insert into 表名 values (值1,值2),(值1,值2);
刪除數據: delete from 表名 where 條件
truncate table 表名: 先刪表,再重建
update 表名 set 列名=值, 列名=值 where 條件
select [distinct] [*] [ 列名1,列名2 ]
from 表名 where 條件 group by ...
having 條件過濾 order by 排序
複製代碼
asc: ascend
desc: descend
order by: order by price asc
group by

and or not
關係運算 <> 不等於
int 範圍 
like 查詢
sum();
avg();
min();
max();
count();
複製代碼

MySQL數據庫的安裝和配置 配置Mysql按照bin目錄到Path

命令:

mysql –u用戶名 –p密碼
複製代碼

通常會在數據庫建立多個表,以保存程序中實體的數據.Structured Query Language, 結構化查詢語言,SQL是用來存取關係數據庫的語言.

功能:

查詢、操縱、定義和控制關係型數據庫

  1. DDL (數據定義語句)-Data Definition Language

  2. DML (數據操縱語句)-Data Manipulation Language

  3. DCL (數據控制語句)-Data Control Language

  4. DQL (數據查詢語句)-Data Query Language

1. 用來定義數據庫的對象
2. 在數據庫表中更新,增長和刪除記錄
3. 用於設置用戶權限
4. 數據查詢
複製代碼

效果

約束:

  1. 主鍵約束 - primary key:不容許爲空,不容許重複
  2. 惟一約束 - unique
  3. 非空約束 - not null
Insert 增長數據
Update 更新數據
Delete 刪除數據
Select 查找數據
複製代碼

實體關係:

多對多: n:m
一對多: 1:n
一對一: 1:1
複製代碼

重置Root密碼:

效果

// 案例:
建立數據庫
create database stu;
使用utf8字符集
create database stu character set utf8;
帶規則
create database stu character set utf8 collate utf8_general_ci;

修改字符集
alter database stu character set gbk;
刪除數據庫
drop database stu;
查看全部數據庫
show databases;
查看數據庫的字符集
show create database stu;

操做員工表:
 create table employee (id int primary key auto_increment,
 name varchar(20) not null,
 gender varchar(10),
 birthday date,
 entry_date date,
 job varchar(30),
 salary double,
 resume text
 );

刪除表
drop table student;
複製代碼
添加
alter table student add name varchar(20);
修改
alter table student modify name varchar(30);
刪除列
alter table student drop gender;
修改表名
rename table student to student_s;
修改表的 字符集
alter table student character set utf8;
修改列名name -> username
alter table student change name username varchar(20) not null;

查看錶結構:
show tables;
show create table student;
desc student;
複製代碼
update student set salary = 2000;
update student set salary = 3000 where name = 'dashu';
update student set salary = 2000, job = 'java' where name= 'dashu';
update student set salary = salary + 1000 where name='dashu';

delete from student where name='da';
刪除表中全部記錄
delete from student;

查詢表中全部信息
select * from student;
select name, sex from student;

select *,chinese+math+english from exam;
使用別名
select *,chinese+math+english as 總分 from exam;

select * from student where name='dashu';
select * from exam where chinese+math+english>200;
複製代碼
in:
select * from exam where math in(89,75,91);

使用order by
select *,chinese+math+english as 總分 from exam order by 總分 desc;

select  count(id) from exam;

統計總分大於250的人數有多少?
select count(id) from exam where chinese+math+english>250;

統計數學成績大於或等於90的學生有多少個?
select  count(math) from exam where math>=90;

使用avg函數
select avg(math) from exam;

查詢購買了幾類商品,而且每類總價大於100的商品
select product,sum(price) from orders where price>100 group by product;
複製代碼

本身下載軟件:

mysql-5.5.27-winx64,查百度.

若是看了以爲不錯

點贊!轉發!

達叔小生:日後餘生,惟獨有你 You and me, we are family ! 90後帥氣小夥,良好的開發習慣;獨立思考的能力;主動而且善於溝通 簡書博客: 達叔小生 www.jianshu.com/u/c785ece60…

結語

  • 下面我將繼續對 其餘知識 深刻講解 ,有興趣能夠繼續關注
  • 小禮物走一走 or 點贊
相關文章
相關標籤/搜索