mysql數據庫定義:
MySQL是一種開放源代碼的關係型數據庫管理系統(RDBMS),MySQL數據庫系統使用最常用的數據庫管理語言--結構化查詢語言(SQL)進行數據庫管理。
mysql命令大全
<一>cmd下命令:
1、cmd啓動、停止MySQL命令
net start mysql==============net stop mysql
2、cmd登錄數據庫命令
mysql -uroot -proot
3、使用命令展開所有已存在數據庫
show databases;
4、新建數據庫,刪除數據庫
create database wzx; =====drop database wzx;
5、使用數據庫
use wzx;
6、展開已存在表
show tables;
7、新建表,刪除表
create table wzx(sid int(20) primary key,sname varchar(20) );
drop table wzx;
8、獲取表結構
desc wzx;
9、增加表記錄
insert into wzx values(1,'wzx');
10、查看錶全部內容
select*from wzx;
11、修改列類型
alter table wzx modify sid varchar(20);
12、增加列
alter table wzx add ssex char(2);
13、刪除列
alter table wzx drop ssex;
14、修改列名
alter table wzx change age sage int(20);
15、修改表名
alter table wzx rename sore;
<二>使用MySQL編輯器:
1、刪除表
delete from wzx;
2、修改字段
update wzx set sage=23,sname='wzx';
3、根據條件查詢指定的數據
select*from wzx where sid=18 and sex='女';
4、查詢數據,返回指定的列
select sid=2,sname='王紫瀟' from wzx;
5、給指定返回列取別名(小名)
select sid,sname,sage,ssex from wzx;
select sid as a,sname as b,sage as c,ssex as d from wzx;
6、在條件中使用比較運算符
select*from wzx where sage!=18;
7、多條件的查詢(and or not)
select*from wzx where sage<=18 and ssex='女';
select*from wzx where sage<21 or ssex='女';
select*from wzx where sage not in(18,21,25);
8、對空值的查詢(is null),對應列是否null查詢
select*from wzx where sage is not null;
select*from wzx where sage is null;
9、查詢AB之間的值,包含AB的值between A and B
select*from wzx where sage between 18 and 25;
10、in(篩選條件符合的結果)
select*from wzx where sage in(18,21,25);
11、處理重複值(distinct),排除重複展示,只展示一次
select distinct age from wzx;
12、查詢返回限定行數(limit)
limit 10; //取查詢數據的前10位======select*from wzx limit 10;
limit 10,10; //從查詢數據的第11位開始,自後取10位數據展示,不滿足
//10位也不會報錯========select*from wzx limit 10,10;
13、通過查詢複製表
create table sore select*from wzx;
14、只複製結構
create table sore select*from wzx where 1=2;
15、分組group by(根據所提供類型分組整合)
select ssex,count(*)from wzx group by sex;
//分組使用,group by出現在select後,即select group by;
//若爲group by select 後面就不能出現*
16、order by 字段名:字段名爲我們需要排序的字段=======排序
select * from wzx order by sage asc; //升序,默認
select * from wzx order by sage desc; //降序
17、常用聚合函數(聚合)
1、count:統計數量
select count(sage) from wzx;
2、sum:求和
select sum(sage) from wzx;
3、max:最大值
select max(sage) from wzx;
4、min:最小值
select min(sage) from wzx;
5、avg:平均數
select avg(sage) from wzx;
18、多表連接
select*from wzx;
select*from sore;
1、交叉連接(沒有任何條件,只需要將多張表的所有數據排列顯示出來):
select*from wzx,sore;
2、內連接(多張表之間,存在數據的關聯):
select * from wzx,sore where wzx.sid = sore.sid;
3、兩張表:
select* from wzx inner join sore on wzx.sid = sore.sid;
4、三張表:
select*from student s,course c,score sc where s.sid=sc.sid and c.cid=sc.cid;
5、外連接 :左表或右表作爲主表的情況下,主表的全部內容都會顯示,而另一
張表沒有對應的數據則會補null
select * from class c left join stu s on c.cid = s.cid;
select * from class c right join stu s on c.cid = s.cid;
例:
create table class(
cid int primary key auto_increment,
cname varchar(20)
)default charset='utf8';
create table stu(
sid int primary key auto_increment,
sname varchar(20),
cid int
)default charset='utf8';
INSERT INTO class(cname) VALUES("一班");
INSERT INTO class(cname) VALUES("二班");
INSERT INTO class(cname) VALUES("三班");
INSERT INTO class(cname) VALUES("四班");
INSERT INTO stu(sname,cid) VALUES("張三",1);
INSERT INTO stu(sname,cid) VALUES("李四",2);
INSERT INTO stu(sname,cid) VALUES("王五",2);
INSERT INTO stu(sname,cid) VALUES("楊六",3);
INSERT INTO stu(sname,cid) VALUES("趙七",5);
INSERT INTO stu(sname,cid) VALUES("周八",6);
交叉連接:--沒有任何條件,只需要將多張表的所有數據排列顯示出來
select * from class,stu;
內連接:select * from class inner join stu on class.cid = stu.cid;
外連接 :
左外連接 left join / left outer join
右外連接 right join / right outer join
外連接 :左表或右表作爲主表的情況下,主表的全部內容都會顯示,而另一張表沒有對應的數據則會補null
select * from class c left join stu s on c.cid = s.cid;
select * from class c right join stu s on c.cid = s.cid;