對Mysql資料庫的基本操作的一些總結
Mysql資料庫的基本操作
總注:所有sql語句結尾處最好加上分號符;
MySQL中的一些語句使用方法:
#檢視所有的資料庫
show databases;
#檢視資料庫下所有的表
show tables;
注:sql語句不區分大小寫,但是嚴重區分中英文符號,不允許使用中文符號。
#建立資料庫
create database test2;
#使用資料庫
use test2;
注:使用資料庫時,不能忘記這句。
#建立表 需要建立主鍵 主鍵是唯一的,不能為空。Primarykey為主鍵唯一標識
# auto_increment:設定自增 unique:唯一約束 notnull:不為空約束
create table login(
idint(8) primary key auto_increment,
username varchar(20) unique,
password varchar(20) not null,
role int(8) not null
);
#查看錶設計
desc login;
注:表建立之後,可以通過查看錶設計,來檢查建立的表是否滿足要求。
增加資料:
#不按照欄位新增,那麼就需要按照表設計的欄位順序新增
Insert into login values(1,’joker12345’,’123456’,1);
#按照欄位新增 必須為主鍵設定自增,否則必須給主鍵賦值
insert into login(username,password,role)values(‘wangzhe123’,’23333’,2);
insert into login(username,password)valus(‘wangfei’,’21233’);
#添家多條資料
Insert into login(username,password,role)values(‘張飛122’,’123’,1),(‘關羽11’,’123456’,1),(’劉備123’,’128146’,2);
#刪除表
drop table login;
#刪除資料庫
drop database test2;
#刪除drop 與delete的區別
#drop是刪除表 表不存在 delete是刪除表中的資料,表仍然存在
delete from student where id =1
#刪除表中所有資料
delete from student
改:
#修改資料
注:set 後面的使用逗號分隔而不是用and 只有where 條件語句後使用and 代表並且
update student set username=’龍傲天’,password=’123456789’ where id=1
查:
# * 代表是所有的欄位,檢視當前表中所有的資料
select * from login;
#只查詢姓名和年齡 select後為查詢的欄位 from表
select password from login;
#查詢姓名不是張飛的使用者資訊
select * from login where username!='張飛';
select * from login where username<>'張飛';
# like模糊查詢
# 查詢名字中帶有‘張’的使用者資訊
select * from login where username like '%張%';
#查詢許可權在2-5之間的使用者
select * from login where role between 2and 5;
#查詢id包含2,3,5的使用者資訊
select * from login where id in(2,3,5);
#分頁 第一個引數為索引,通過索引得到頁數,第二個引數為每次顯示的條數
select * from login limit 2,2;
#將學生的年齡從小到大排序 order by為排序本身就有從小到大的功能asc: 小-大 desc:大-小
select * from login order by role asc;
#聚合函式count(統計總數) sum(求和) avg(平均值) max(最大值) min(最小值)
select count(*) from student;
表設計修改:
#新增欄位 phoneNumber
alter table login add phoneNumbervarchar(30) not null;
#將username 修改為uname
alter table login change username unamevarchar(20) unique;
#將phoneNumber 放到password後面
alter table login modify phoneNumbervarchar(30) after password;
#刪除表字段
alter table login drop phoneNumber;
#更改表名
alter table login rename m_login;
外來鍵的情況:
#一張表的外來鍵是另外一張表的主鍵 外來鍵可以建立多個 但是主鍵只能建立一個
#外來鍵的值可以重複。
#設定外來鍵 必須先給主鍵的建立了資料才能給外來鍵表進行新增資料 on delete cascade:級聯刪除
#設定了級聯刪除,既可以刪除主表資料由可以刪除外來鍵表資料,一旦刪除主表資料,外來鍵的關鍵的資料一併刪除
alter table student add constraint foreignkey(sno) references login(sno) on delete cascade;
表的複製和檢視的建立:
#表的複製 將student的資料複製到新建立的表student2中
create table student2 as select * fromstudent;
#建立檢視 檢視是虛擬的表其資料來源是真實的表
create view lon_view as select id,username,password from u_login;
參考:https://blog.csdn.net/ztyxy1115/article/details/78975449