1.操作數據庫語句
1.1 顯示所有的數據:show databases;
1.2 創建數據庫:create database databasename;
1.3 刪除數據庫:create database databasename;
1.4備份數據庫:mysqldump –uroot –p1234 databasename>本地保存的路徑
1.5恢復數據庫:mysql –uroot –p1234 databasename<本地保存的路徑
1.6查看所在數據庫:select database();
2.操作數據表語句
2.0 查詢所有的表:show tables;
2.1 創建表:create table tablename(
字段1名稱 字段1類型,
字段n名稱 字段n類型(最后一項,不加逗號)
);
2.2 修改表:
2.2.1 添加字段: alter table 表名 add 字段名 字段類型;
2.2.2 修改表名: alter table 表名 rename to 新表名;
2.2.3 修改字段類型: alter table表名modify 字段名 字段新類型;
2.2.4 修改字段: alter table表名change 字段名 新字段名 新類型;
2.2.5 刪除字段: alter table 表名 drop 字段名;
2.2.6 刪除表: drop table 表名;
2.2.7 設置主鍵:
create table 表名(
字段1名稱 字段1類型 primary key,
字段2名稱 字段類型
);
create table 表名(
字段1名稱 字段1類型 primary key,
字段2名稱 字段2類型,
primary key(字段1名稱)
);
create table 表名(
字段1名稱 字段1類型,
字段2名稱字段2類型
);
alter table 表名 add 字段名 primary key;
2.2.8設置自增長:
create table 表名(
字段1名稱 字段1類型 primary key auto_increment,
字段2名稱 字段2類型
);
//注意:自增長是對主鍵且數據類型為數值型的字段而言的
2.2.9 設置約束條件:unique(唯一性),not null(非空),default(默認)
2.3 查詢表:
2.3.1 查詢所有數據: select * from 表名
2.3.2 查詢符合字段類型(數值)的數據: select * from 表名 where 字段名=id;
2.3.3 查詢符合字段類型(字符串)的數據:select * from 表名 where 字段名=‘str’;
2.3.4 查詢含有某字符的數據:select * from 表名 where 字段名 like ‘%r%’;
2.3.5 查詢不含某字符的數據:select * from 表名 where 字段名 not like ‘%r%’;
2.3.6 查詢同時滿足多個條件的數據:
Select * from 表名 where id in(條件1,條件2);
Select * from 表名 where 條件1 and 條件2;
2.3.7 查詢滿足多個條件之一的數據:
Select * from 表名 where 條件1 or 條件2;
truncate and delete的區別:
(1)truncate既刪除表內數據,也刪除表的結構,刪除表結構后,會重建表的結構
(2)delete只刪除表內的數據
having與 where的區別:
(1)having后面跟函數,having是對結果的篩選
(2)where后面跟字段
關鍵字的書寫順序:
select,from,where,group by,having,order by
關鍵字的執行順序:
【from】 【where,group by,having 條件】 【select】 【order by】
內連接:
inner join on(內連接),可以多表進行內連接
demo:
//內連接示例
select s.sname, c.cname from sinfor s inner join scinfor sc on s.sid=sc.sid
inner join cinfor c on sc.cid=c.cid;
結果: +-------+---------+
| sname | cname |
+-------+---------+
| s1 | java |
| s2 | java |
| s1 | android |
| s3 | php |
+------+--------+
外連接:
(1)left join on(左外連接),以左邊的表為基表
demo:
select s.sname, c.cname from sinfor s left join scinfor sc on s.sid=sc.sid
left join cinfor c on sc.cid=c.cid;
輸出結果:
+-------+---------+
| sname | cname |
+-------+---------+
| s1 | java |
| s1 | android |
| s2 | java |
| s3 | php |
| s5 | NULL |
+-------+---------+
(2)right join on(右外連接),以右邊的表為基表
demo:
select s.sname, c.cname from sinfor s right join scinfor sc on s.sid=sc.sid
right join cinfor c on sc.cid=c.cid;
輸出結果:
+-------+---------+
| sname | cname |
+-------+---------+
| s1 | java |
| s2 | java |
| s1 | android |
| s3 | php |
| NULL | C# |
+-------+---------+
附sql語句:
表1 sinfor (學生表):
create table sinfor(
sid int primary key,
sname varchar(32)
);
表2 scinfor(選課表):
create table scinfor(
sid int,
cid int,
primary key(sid,cid),
foreign key(sid) references sinfor(sid),
foreign key(cid) references cinfor(cid)
);
表3 cinfor (課程表):
create table cinfor(
cid int primary key,
cname varchar(32)
);
insert into sinfor values(1, 's1');
insert into sinfor values(2,'s2');
insert into sinfor values(3,'s3');
insert into sinfor values(4,'s5');
insert into cinfor values(1,'java');
insert into cinfor values(2,'android');
insert into cinfor values(3,'php');
insert into cinfor values(4,'C#');
insert into scinfor values(1,2);
insert into scinfor values(2,1);
insert into scinfor values(3,3);
insert into scinfor values(1,1);
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。