中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

聊城網(wǎng)站定制志鴻優(yōu)化網(wǎng)下載

聊城網(wǎng)站定制,志鴻優(yōu)化網(wǎng)下載,新網(wǎng)站如何做流量,互聯(lián)網(wǎng)平臺公司有哪些視頻來源:軟件測試工程師所需的MySQL數(shù)據(jù)庫技術(shù),mysql系統(tǒng)精講課后練習(xí)_嗶哩嗶哩_bilibili 環(huán)境準(zhǔn)備: 虛擬機(jī)Linux服務(wù)器安裝mysql數(shù)據(jù)庫。本機(jī)安裝Navicat。使Navicat連接虛擬機(jī)的數(shù)據(jù)庫。(麻煩一點的是Navicat連接虛擬機(jī)的數(shù)據(jù)…

視頻來源:軟件測試工程師所需的MySQL數(shù)據(jù)庫技術(shù),mysql系統(tǒng)精講+課后練習(xí)_嗶哩嗶哩_bilibili

環(huán)境準(zhǔn)備:

虛擬機(jī)Linux服務(wù)器安裝mysql數(shù)據(jù)庫。本機(jī)安裝Navicat。使Navicat連接虛擬機(jī)的數(shù)據(jù)庫。(麻煩一點的是Navicat連接虛擬機(jī)的數(shù)據(jù)庫。網(wǎng)上自查怎么做就行。)
我遇到的一些麻煩點:1.虛擬機(jī)安裝mysql,可以不用更新軟件包。先查看是否安裝了虛擬機(jī),沒有,就直接用命令安裝mysql-service即可。
2.網(wǎng)上教程會讓你開啟安全模式,這里不建議開啟,因為開啟安全模式之后,它會有一個密碼的限制,比如你用123456就會提示你密碼不符合要求,這里我們是用作練習(xí),就不要開安全模式。
3.虛擬機(jī)連接數(shù)據(jù)庫,只要在數(shù)據(jù)庫的配置文件注釋那一行,以及給root用戶添加所有權(quán)限就可以了,其它額外的命令都不要去弄。

ps:navicat不會連接虛擬機(jī)的linux直接翻到最下面,介紹了mysql命令是怎么連接的,并比對了其它一些博客的不必要的點。

一、sql語言基礎(chǔ)

注釋:

--單行注釋、/*? ?*/多行注釋。通過快捷鍵ctrl+/可以快速注釋,同時再使用此快捷鍵可以取消注釋。

數(shù)據(jù)類型:
int、tinyint、decimal(整數(shù),小數(shù))、varchar(字符串的數(shù)量)、datetime。用法:id int,name varchar(10),height decimal(5,2);

創(chuàng)建/刪除表:

語法:create table 表名{ 字段名 數(shù)據(jù)類型,...? };
例如:create table a{ name varchar(10) };? ?//創(chuàng)建表a,數(shù)據(jù)類型是字符串,長度為10.

刪除表語法:drop table 表名;? drop table if exists 表名;

insert添加數(shù)據(jù):

插入一條語句:
格式1:insert into 表名 values(.....);? //字符串信息可以用單引號或者雙引號引起來,數(shù)字省略引號
格式2:insert into 表名 (字段1,......) values(值1,........)? //部分字段設(shè)置值

插入多條語句:
格式1:insert into c(id,name,age) values(2,' adada',20);? 再這樣寫幾條,寫多條語句,用英文隔開。
格式2:insert into 表名 values(....),(.....).....;? 寫一條語句,添加多條記錄。(省略字段,像插入一條語句的格式1)
格式3:insert into 表名(字段1,....)values(值1,.....),(值1,.....)......; 寫一條語句,設(shè)置指定字段值。

select簡單查詢:

select *from 表名? ? ?查詢所有字段? ?例如:select * from c;
select 字段1,字段2,.... from 表名? ? ? ? 查詢指定字段? select age,name from c;

update修改數(shù)據(jù):

update 表名 set 字段1=值1,字段2=值2....where 條件;?
例如:update c set age=50;update c set name="元芳",age=33 where id=3;

刪除表記錄:

1.delete from 表名 where 條件;? ?//通過delete刪除,也可以刪除整個表記錄
2.truncate table 表名;? ?///通過truncate刪除,只能刪除整個表記錄,但速度比delete快。
兩種刪除表記錄的方式:delete from c ; truncate table c;
?

二、字段的約束

主要約束:主鍵(primary key):值不能重復(fù),auto_increment代表自動增長
非空(not null)、唯一(unique)、默認(rèn)值(default)。
一般用于創(chuàng)建表使用;

主鍵:
例如:create table d ( id int?primary key auto_increment,name varchar(10) );//創(chuàng)建id字段非空,并自增長。
錯誤用法:所有字段都插入,但沒寫自增長字段值,會出錯。而不指定id字段值時,系統(tǒng)會自動填寫。
解決方案:使用占位符,通常使用0或者null來占位。

非空:
create table 表名( 字段名 數(shù)據(jù)類型 not null,....... );

唯一:
create table 表名(字段名 數(shù)據(jù)類型 unique,......);

默認(rèn)值:
create table 表名(字段名 數(shù)據(jù)類型 default 值,..........);

進(jìn)階:

執(zhí)行下列sql語句,生成students方便后續(xù)實驗。

/* 如果學(xué)生表students存在,就刪除學(xué)生表students */
drop table if exists students;/* 創(chuàng)建學(xué)生表students */
create table students (studentNo varchar(10) primary key, /*學(xué)號,主鍵,值不能重復(fù)*/name varchar(10), /*姓名*/sex varchar(1), /*性別*/hometown varchar(20), /*家鄉(xiāng)*/age tinyint, /*年齡*/class varchar(10), /*班級*/card varchar(20) /*身份證號碼*/
);/* 向?qū)W生表students插入數(shù)據(jù) */
insert into students values
('001', '王昭君', '女', '北京', '30', '1班', '110101199003157654'),
('002', '諸葛亮', '男', '上海', '29', '2班', '310102199104262354'),
('003', '張飛', '男', '南京', '30', '3班', '320102199003047654'),
('004', '白起', '男', '安徽', '35', '4班', '340202198505177654'),
('005', '大喬', '女', '天津', '28', '3班', '120101199204067654'),
('006', '孫尚香', '女', '河北', '25', '1班', '130502199506137654'),
('007', '百里玄策', '男', '山西', '39', '2班', '140102198107277654'),
('008', '小喬', '女', '河南', '25', '3班', null),
('009', '百里守約', '男', '湖南', '31', '1班', ''),
('010', '妲己', '女', '廣東', '24', '2班', '440701199607147654'),
('011', '李白', '男', '北京', '30', '4班', '110202199005017754'),
('012', '孫臏', '男', '新疆', '36', '3班', '650102198401297655');

別名與消除重復(fù)出現(xiàn):

通過as語句可以代替字段名。例如:select name as 姓名 from students;查詢得到姓名表而不是name的表。
且as可以省略。例如:select name ?姓名 from students;效果和上面一樣。
表的別名:select name ,age,sex from students ss;///表的別名一般用的較少。
消除重復(fù)記錄:就是使用查詢語句,加上這個,下次再使用查詢,就會取消重復(fù)出現(xiàn)。
語法:select distinct sex from 表名;? //這樣就只會出現(xiàn)男,女,而不是多次出現(xiàn)。
注意:但是當(dāng)出現(xiàn)多個字段值時,例如sex后面再添加一個name值,則只有sex和name都不一樣才不會重復(fù)出現(xiàn)。

條件查詢:

其實就是where字句.
支持多種運(yùn)算符:比較運(yùn)算符(>、<、>=)、邏輯運(yùn)算符、模糊查詢、范圍查詢、空判斷.
模糊查詢:like取代=、%表示多個字符、_表示一個字符。例如:where name like '孫%';
注意:%這個會把一個字符的,多個字符的都顯示出來。
例題:查詢名字為兩個字的學(xué)生:SELECT * from students where name like '__';
例題:匹配最后一個字符的語句:SELECT * from students where studentNo like '%1' ;//匹配學(xué)號最后一個字符為1的學(xué)號。而不用管中間是否會出現(xiàn)1;

范圍查詢:in(...,....,....);表示一個非連續(xù)的范圍。between ... and... ;表示一個連續(xù)的范圍。
例如:SELECT * from students where age not BETWEEN 25 and 30 ; 年齡在25到30以外的記錄。也可以這樣寫:SELECT * from students where age<25 or age>30;

空判斷:例句:where card is null;? //用is表示。

排序:

語法:select * from 表名 order by 字段1 asc | desc ,字段2 asc |desc,....
asc從小到大(升序),desc從大到小(降序)。默認(rèn)情況下不給asc或desc,就是升序。
例句:select * from students order by age desc,studentNo;按年齡降序,若年齡相同,則按學(xué)號升序。再比如:SELECT * from students ORDER BY class ,studentNo DESC;

聚合函數(shù)(計數(shù)、求和):

聚合函數(shù)不能放在在where條件語句后中,而是放在select 后。
計數(shù):語法:count(*);
例句:select count(*) from students where sex='女';? ?//查詢學(xué)生是女生的學(xué)生數(shù)量。

最大值:max(*);? 例如查詢最大年齡,select max(age) from students;

求和:sum(*);例如:select sum(age) from students;

平均值:avg(*);例如:select avg(age) from students;

數(shù)據(jù)分組:

按字段分組,表示字段相同的數(shù)據(jù)放在同一個組中。group by 區(qū)別一下order by;
語法:select 字段1,字段2,聚合函數(shù)... from 表名 group by 字段1,字段2 ....
例如:SELECT sex,count(*) from students GROUP BY sex; 根據(jù)性別分別計數(shù)男,女的個數(shù)。
練習(xí):用數(shù)據(jù)分組方法,統(tǒng)計各個班級學(xué)生總數(shù),平均年齡、最大年齡、最小年齡。

分組后的數(shù)據(jù)篩選:

語法:select 字段1,字段2,聚合函數(shù)... from 表名 group by 字段1,字段2 .... having 字段1,....聚合... ;? //搭配group by 使用的 having
練習(xí):查詢除了1班以外,其它各個班級學(xué)生的平均年齡、最大年齡、最小年齡。
注意:凡是關(guān)于查詢“各個”,都是分組查詢group by。這里還用到了篩選。
SELECT class,count(*),AVG(age),MAX(age),MIN(age) from students GROUP BY class having class!='1班'?
練習(xí):查詢班級總?cè)藬?shù)大于2人的班級總稱以及班級對應(yīng)的總?cè)藬?shù)。

數(shù)據(jù)分頁顯示:

當(dāng)數(shù)據(jù)量過大,通過此方法分頁查看。(分成頁數(shù),只展示第幾頁這樣。)
1.獲取部分行。語法:select * from 表名 limit ,start,count ;從start開始獲取count條數(shù)據(jù),若省略start默認(rèn)從0開始。例如:查看第三行開始的3條語句:SELECT * from students LIMIT 2,3;(因為默認(rèn)從第0行開始,所以第三行是從數(shù)字2開始。)

2.分頁!!!
語法:每頁顯示m條數(shù)據(jù),查詢第n頁的數(shù)據(jù)。select *from students limit(n-1)*m,m;
例如:SELECT * from students LIMIT 8,4; 每頁顯示4條,查詢第3頁的數(shù)據(jù)。

多表進(jìn)階:

連接查詢:對多個表進(jìn)行查詢。
分為內(nèi)連接:只查詢兩個表共有的。左連接:只查詢左表存在的數(shù)據(jù)。

內(nèi)連接(inner join):

語法1: select * from 表1 inner join 表2 on 表1.字段 = 表2.字段.
例如: select * from students inner join score on students.stu = score.stu ;(查詢students和score表stu編號相同的數(shù)據(jù)。)? ?// inner join? ... on ....

語法2:select * from 表1,表2 where 表1.字段 = 表2.字段 ;
上一個例子改寫:SELECT * from students,scores where students.studentNo=scores.studentNo;

練習(xí):查詢學(xué)生信息,只顯示姓名、課程號、成績。(兩個表students,scores)
練習(xí):查詢姓名為“王昭君”的信息,要求只顯示姓名、課程號、成績。
練習(xí)(三表):查詢學(xué)生信息和成績以及成績對應(yīng)的課程名稱。(三表students.scores.courses)
? ?解:SELECT * from students INNER JOIN scores on students.studentNo=scores.studentNo INNER JOIN courses on courses.courseNo = scores.courseNo;

練習(xí):查詢成績最高的男生信息,要求顯示姓名、課程名、成績。(三表)
注意:max(scores.score)只能用于select之后,但是要求顯示是select name,cousename,score。
故這里考慮使用排序,在最后面加上limit 1,只顯示1位。
? ?解:SELECT name,coursename,score from students INNER JOIN scores on students.studentNo=scores.studentNo INNER JOIN courses on courses.courseNo = scores.courseNo where students.sex='男' ORDER BY scores.score DESC LIMIT 1;

左連接(left join):

語法:select * from 表1 left join 表1.字段=表2.字段
例題:查詢所有學(xué)生的信息以及成績,包括沒有成績的學(xué)生。
select * from studetns left join scores on students.studentNo = scores.studentNo;

mysql數(shù)據(jù)庫本身的一些命令:

選擇數(shù)據(jù)庫: use 數(shù)據(jù)庫名稱。退出mysql命令模式:exit;
創(chuàng)建數(shù)據(jù)庫:create database 數(shù)據(jù)庫名 default charset[默認(rèn)字符集];
例如:create database mytest default charset utf8;
刪除數(shù)據(jù)庫:drop databse 數(shù)據(jù)庫名.
顯示已有數(shù)據(jù)庫:show database;

增加新用戶:

這個比較重要,在遠(yuǎn)程連接Linux服務(wù)器時會用得到。

用root身份登錄mysql
語法: grant all on 數(shù)據(jù)庫名.表名 to 用戶名@‘登錄主機(jī)’ identified by ‘密碼’ with grant option;

grant all on代表為用戶賦權(quán);? 數(shù)據(jù)庫名可以是* ;? ?表名可以是*,代表所有表。
@ ‘localhost’ 代表只能在本機(jī)登錄; @‘%’? ,代表可以遠(yuǎn)程登錄。
with grant option 表示該用戶是否能把權(quán)限分配給其它用戶。

例如:創(chuàng)建一個root用戶,可以操作所有數(shù)據(jù)庫和表,該用戶可以遠(yuǎn)程登錄,密碼為123456,該用戶可以為其它用戶分配權(quán)限。?
? ??grant all on *.* to? root@'%' identified by '123456' with grant option;
?

使用navicat 連接虛擬機(jī)的linux:

之前都是參考別人的博客做的,有些做的要么是淘汰了,要么就多次一舉了,接下來可以分析為什么別人那么做的了。

第一步:linux下載mysql,這一步基本上都只有一句:sudo apt-get install mysql-service??梢允÷愿萝浖?#xff08;sudo apt-get update);然后使用mysql --version 驗證版本即可。

第二步:開啟Mysql服務(wù):? ? ? ? sudo service mysql start

第三步:打開?/etc/mysql/mysql.conf.d/?目錄下的?mysqld.cnf?文件,修改其中的?bind-address?參數(shù),將其注釋或改為0.0.0.0? 。在重啟MySQL服務(wù):sudo service mysql restart

第四步(關(guān)鍵):使用?指令登錄mysql命令模式。(到了這里就用到前面學(xué)的知識點了)

sudo mysql -u root -p;

登錄mysql之后,

use mysql;

(進(jìn)入到mysql這個數(shù)據(jù)庫里,注意!mysql數(shù)據(jù)庫和mysql軟件是兩回事。如果對這個有疑問,可以先用show datebase,可以看到默認(rèn)情況下是存在mysql這個數(shù)據(jù)庫的,一般默認(rèn)下在mysql軟件,都有默認(rèn)的四個數(shù)據(jù)庫。)

直接更新root用戶的host字段,改為'%',即表示允許遠(yuǎn)程登錄。
我看了不同的博客里面,有兩種方式:

方式1:

update user set host ='%' where user ='root' and host='localhost';

//這里用了和運(yùn)算符,因為默認(rèn)情況下,root這個用戶的host是‘localhost’。不用and也可以。

方式2:update user set host ='%' where user ='root';? ? //其實就是and可以省。

第五步:刷新。

flush privileges;

http://www.risenshineclean.com/news/49038.html

相關(guān)文章:

  • 西寧高端企業(yè)網(wǎng)站建設(shè)推推蛙品牌策劃
  • 成品網(wǎng)站好還是自助建站好營銷活動怎么做吸引人
  • 蘭州網(wǎng)絡(luò)運(yùn)營公司手機(jī)一鍵優(yōu)化
  • 菏澤 兼職做網(wǎng)站什么是百度競價排名服務(wù)
  • 織夢可以做論壇網(wǎng)站最新國內(nèi)新聞重大事件
  • jsp動態(tài)網(wǎng)站開發(fā)PDF關(guān)鍵詞小說
  • 惠網(wǎng) 做網(wǎng)站重慶seo報價
  • pc網(wǎng)站如何做移動適配揚(yáng)州網(wǎng)絡(luò)推廣公司
  • 中山市網(wǎng)站開發(fā)外包公司2024年小學(xué)生簡短小新聞
  • 工業(yè)設(shè)計產(chǎn)品圖推推蛙seo顧問
  • 網(wǎng)站建設(shè)與制作報價百度代理公司
  • 凡科網(wǎng)站怎么做淘寶客seo外包軟件
  • 深圳網(wǎng)站建設(shè)外包公司資源搜索神器
  • 網(wǎng)站空間到期了怎么辦手機(jī)網(wǎng)頁設(shè)計制作網(wǎng)站
  • 臨清做網(wǎng)站推廣站長網(wǎng)站提交
  • 網(wǎng)站前臺 后臺十堰seo優(yōu)化方法
  • 黃驊做網(wǎng)站|黃驊網(wǎng)站|黃驊百度優(yōu)化|黃驊百度推廣|黃驊微信|黃驊品牌網(wǎng)絡(luò)營銷案例
  • 淘寶客網(wǎng)站要備案嗎seo技術(shù)培訓(xùn)教程
  • 能幫忙做網(wǎng)站建設(shè)優(yōu)秀的網(wǎng)頁設(shè)計網(wǎng)站
  • 河南省人民政府最新領(lǐng)導(dǎo)班子手機(jī)關(guān)鍵詞排名優(yōu)化
  • 怎樣做自己的微商網(wǎng)站6百度推廣怎么收費(fèi)的
  • 國外的網(wǎng)站建設(shè)公司海南網(wǎng)站建設(shè)
  • 騰訊街景地圖實景手機(jī)版濰坊seo招聘
  • 邯鄲移動網(wǎng)站建設(shè)seo建設(shè)者
  • 凡科建站小程序制作html網(wǎng)頁制作成品
  • 上海個人醫(yī)療網(wǎng)站備案表自媒體是如何賺錢的
  • 建個站的網(wǎng)站打不開有沒有免費(fèi)的廣告平臺
  • 注冊網(wǎng)站不用手機(jī)短信驗證的人工智能培訓(xùn)心得體會
  • 網(wǎng)站建設(shè)系互聯(lián)網(wǎng)推廣是什么工作內(nèi)容
  • 如何做DJ網(wǎng)站seo的內(nèi)容怎么優(yōu)化