1.登錄以及退出,修改密碼操作
1.首先打開任務管理器,找到自己的mysql的服務器名稱,

如圖所示,服務器的名稱是MySQL80(這里是已經打開了MySQL服務器,如果沒打開,則要進行下一步操作)
2.打開cmd命令提示符,輸入net start SQL80,開啟自己的MySQL,

3.如果是要關閉服務,可以使用
net stop MySQL80

或者也可以用MySQL中.exe為后綴的內置檔案提供的操作方法,
mysqladmin -u root -p shutdown

這里需要輸入密碼,即輸入下載sql時設定的密碼即可,
4.修改密碼
mysqladmin -u root -p password 000000

這樣就修改密碼成功了,
5.登錄MySQL
mysql -u root -p

6.退出登錄
exit

2.登錄MySQL之后的內部操作
1.顯示版本
show variables like 'version';

2.創建洗掉資料庫
創建資料庫
create database db;
洗掉資料庫
drop database if exist db;#這里也可以使用drop database db但是這樣如果不存在db則會報錯,影響之后的程式執行
查看資料庫
show databases;#這里要注意是databases,因為資料庫有多個,要注意單復數,


3.在具體資料庫中對表進行操作
1.首先進入指定的資料庫
use database mydb;
2.創建表xs,并且包含兩個屬性欄位,
create table xs(id int,name varchar(10));#使用int則設定其型別為整型,使用varchar則設定為字串型,長度為10,char等其他型別也可以使用,

這里我們建立了兩個表,用于后序舉例使用,
3.洗掉表
drop table if exists user1;#這里使用exists的原因與之前洗掉資料庫一致

4.查看資料庫中的所有表
show tables;#這里使用tables也是因為有許多表,要注意單復數,

5.查看指定表的屬性欄位
desc xs;

6.向表中插入資料
insert into cj value('1','96');
insert into cj value('1','80');
insert into cj value('1','86');

7.查看表中的內容
select * from cj;

8.對表中的內容進行修改
update cj set id='2' where score='80';
update cj set id='3' where score='90';


這里我們又插入了一個id=4,score=110,方便解釋后面舉例使用,
9.對表中內容進行洗掉操作
delete from user where id='004';

10.對表中添加屬性欄位
alter table cj
add userTel varchar(10);

11.在屬性欄位后面添加欄位
alter table cj
add userSchool varchar(10) after score;

12.在第一個屬性前添加欄位
alter table cj
add useradd varchar(10) first;

13.洗掉屬性欄位
alter table cj
drop useradd;
alter table cj
drop userSchool;
alter table cj
drop userTel;

14.修改表中屬性
alter table cj
change id id1 varchar(10);

15.表的重命名
alter table cj
rename cj1;

16.資料庫的備份
mysqldump -u root -p mydb > C:\mydb_backup.sql

17.資料庫的恢復
mysql -u root -p mydb < C:\mydb_backup.sql

18.表的備份
create table cj
select * from cj1;

19.備份資料庫的執行
source C:\mydb_backup.sql
這個操作可以執行之前備份的資料庫中的命令以及內容,具體作用可以去嘗試,
4.資料庫中的一些進階操作
1.跨表聯合查詢
同時查找兩個表的內容,
select * from xs union select * from cj;#要注意的是,這個操作會對查詢的結果進行去重,

select * from xs union all select * from cj;#也是兩個表聯合查詢,但是不會對查詢結果進行去重,
2.對查詢結果進行排序
insert into cj value('4','100');#首先插入一個新的元素,方便進行比較
select * from cj order by score;

可以看到查詢結果按照成績從低到高排序,
如果需要從高到低排,則需要用以下方法,
select * from cj order by score desc;

有一個地方需要注意,就是如果score是varchar型別,則會按ASCII碼排序,
例如
alter table cj change score score varchar(10);#首先將score改為varchar型別欄位
select * from cj order by score;

可以看到資料按照ADCII碼的順序排序了,
3.對表的資料規定正則運算式進行查找
首先我們創建一個這樣的表,創建程序我們就省略了,

使用一下代碼進行查找
select * from users where userfamily is null;
可以查找到userfamily內容為null空的屬性內容
查找指定字串開頭為x的內容,即查找userName屬性中字串開頭為x的內容
select * from users where userName regexp '^x';#注意regexp指的是正則運算式的意思,即查找userName符合這種正則的屬性,

查找指定字串結尾是y的內容,即查找userName屬性中字串結尾為y的內容
select * from users where userName regexp 'y$';

查找指定字串中含有0個或多個x的內容
select * from users where userName regexp 'x*';

查找指定字串中含有1個或多個x的內容
select * from users where userName regexp 'x+';

4.表的等值連接,左連接與右連接
有三種連接方式
inner join(等值連接):只回傳兩個表中聯結欄位相等的行,
left join(左連接):回傳包括左表中所有的記錄和右表中聯結欄位相等的記錄,
right join(左連接):回傳包括右表中所有的記錄和左表中聯結欄位相等的記錄,
具體的連接結果如下,我們用兩個表來做示范,
兩個表的內容如圖所示

等值連接使用的陳述句
select * from 'xs' inner join 'cj' on xs.id=cj.id;
左連接使用陳述句
select * from 'xs' left join 'cj' on xs.id=cj.id;
右連接使用陳述句
select * from 'xs' right join 'cj' on xs.id=cj.id;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/144656.html
標籤:AI
