建立、刪除庫:
//建立新資料庫
create database 資料庫名;
//刪除資料庫
drop database 資料庫名;
增加:
1、新增列名、設定主鍵、設定自動增長列
primary key表示當前列為主鍵列,不能重複,不能為空
out_increment表示當前列為自動增長列,由dbms分配該列的值,可以保證不重複
create table t_user(
id int primary key auto_increment, //編號
username varchar(20),//使用者名稱
birthday date,//生日
tel char(11),//**
//列舉型別,該列的值只能取男和女
*** enum('男','女'),
// 性別 -- 最後一列不能加「,」
money int //賬戶餘額
);
2.新增行(新增記錄)
①如果新增多條資訊,中間用","分割。values只用寫一次,寫在表頭和錶值之間。
②如果列名和列的值不寫,則預設新增為空(null),如果資料庫設計時存在預設值,則為新增預設值。
insert into t_user(表1,表2) values(值1,值2);
例如:
insert into t_user(username,pwd,birthday,tel,***,money)
values ('張三','123','1980-05-09','13948577789','男',2000);
例如:
insert into t_student(username,pwd,birthday,tel,***)
values('李四','111','1998-01-01','13112341234','男');
3.新增列(維護常用)
// t_student:表名;address:表頭
alter table t_student add address varchar(50);
刪除:
1.刪除表
// t_user:表名
drop table t_user;
2.刪除列
// t_student:表名;useraddress:列名
alter table t_student drop column useraddress;
3.刪除行(記錄)
//如果不加where 後面的條件則全部刪除
delete from t_user where id=2;
修改:
1、修改列
修改列的值必須與修改後的型別相符,如果修改列的值為null,則可以改為任意型別。如果修改列的值型別為varchar,最長為20,則修改後的型別必須為char型別,長度不能低於20。
alter table t_student change address useraddress varchar(100);
2、修改值
update t_product set 修改列名=修改後新值 where id=1;
//修改,將張三的密碼修改為333,工資修改為2500
update t_user set pwd='333',money='2500' where username='張三';
查詢:
1、查詢表中所有資料
表示顯示所有的列,也可以指定顯示列的列表,中間用","分割。
select * from t_user;
// 例如(顯示姓名和工資列):
select username,money from t_user
2、查詢返回限定行
第乙個引數為起始記錄數,從0開始,第二個引數為顯示記錄數
// mysql語法
select * from t_student limit 0,3;
3、查詢空值null
null不能用=,只能用is null 或 is not null
select *from t_student where money is null;
4、查詢多條資訊(or/in)
// 查詢張三和李四的資訊
select * from t_student where username='張三' or username='李四';
select * from t_student where username in('張三','李四');
5、模糊查詢(_或%)
//查詢姓李的二個字的員工
select * from t_student where username like '李_';
// 查詢出所有商品名包括「糕」的商品的資訊
select * from t_product where productname like '%糕%';
6、查詢多條件+顯示部分(limit)
// 查詢前5條**在100-1000的酒類商品 (mysql語法)
select * from t_product where producttype='酒類' and price>=100 and price<=1000 limit 0,5 ;
7、查詢去除重複的類名(distinct)
// 查詢所有的性別,distinct 表示去除重覆記錄
select distinct *** from t_student;
8、查詢排序顯示(order by)
//按員工工資排序,預設為公升序asc,降序需要加上desc。
// 工資相同,按年齡大小排序。
select * from t_student order by money desc,birthday;
9、查詢當前日期
select curdate() from 表名
**內連線:**inner join 、cross join
(1)形式一
select 字段列表
from a表 inner join b表
on 關聯條件
【where 其他篩選條件】
說明:如果不寫關聯條件,會出現一種現象:笛卡爾積
關聯條件的個數 = n - 1,n是幾張表關聯
on只能和join一起用
(2) 形式二
select 字段列表
from a表 , b表
where 關聯條件 【and 其他篩選條件】
外連線:左外連線(left outer join)
左連線:
第一種結果:a
select 字段列表
from a表 left join b表
on 關聯條件
第二種結果:a - a∩b
select 字段列表
from a表 left join b表
on 關聯條件
where 從表的關聯字段 is null
右外連線(right outer join)
第一種結果:b
select 字段列表
from a表 right join b表
on 關聯條件
第二種結果:b - a∩b
select 字段列表
from a表 right join b表
on 關聯條件
where 從表的關聯字段 is null
資料庫關聯查詢
使用者授權,我們涉及到了三個物件 1 使用者名稱root 2 密碼 3 主機localhost 建立名字為qq的使用者 create user qq localhost 建立名字為anan使用者並新增密碼 create user anan localhost identified by 123 建立...
資料庫多表查詢關聯查詢SQL語句
left join on 關鍵字會從左表那裡返回所有的行,即使在右表中沒有匹配的行。意思就是向左關聯某個表記錄,以左邊的那個表的記錄為基準,通過關聯條件,將關聯表的相關符合要求的記錄一起找出來,找出來的記錄條數就是左邊表的記錄數 具體用法如下 select column name s from ta...
資料庫多表關聯查詢
本文主要列舉兩張和三張表來講述多表連線查詢。新建兩張表 表1 student 截圖如下 表2 course 截圖如下 此時這樣建表只是為了演示連線sql語句,當然實際開發中我們不會這樣建表,實際開發中這兩個表會有自己不同的主鍵。外連線可分為 左連線 右連線 完全外連線。1 左連線 left join...