标题 :测试学习SQL篇
数据库:可以理解为保存数据的仓库;
类似于图书馆,图书馆里有一排排的数据,书架上有一本本的书;
书架按类别来区分放什么书,书架就类似于数据库里的表,
数据就保存在表里,就跟书放在书架上一样;每一本书都有一个编号,这个编号在这书架上是唯一的,这个就相当于我们的表的数据的主键;
好了,废话这么多,就为了形象的描述下数据库。当然可能不够贴切,有更贴切的可以在评论里提出。谢谢;话不多说,进入正题;
下面就是一些基础的SQL语句;
创建库:
create database 数据库名
打开库:
use 数据库名
建表:
create table 表名(
字段名1 int not null,
字段名2 varchar(10),
字段名3 varchar(10),
PRIMARY KEY (字段名1)
);
注:PRIMARY KEY 主键
建约束就不说了,因为我比较肤浅。想了解的可以自己去搜搜;
删除表
drop table 表名;
给表授权
GRANT 权限 ON 表 TO 用户
权限:select 查询数据,insert 插入数据,update 修改数据,delete 删除数据,create 创建表,drop 删除表
给表加字段
ALTER TABLE 表名 ADD 新字段名 数据类型 ;
给表改名
RENAME TABLE old_table_name TO new_table_name;
给字段改名
ALTER TABLE 表名 CHANGE [column] 旧字段名 新字段名 新数据类型
删除表字段
ALTER TABLE 表名 DROP 字段名;
插入数据
insert into 表名 (字段名1,字段名2) values (‘字段值1’,’字段值2’);
删除数据
delete from 表名 where 字段名1 =‘字段值1’
修改数据
update 表名 set 字段名1 =‘字段值1’ where 字段值2=‘字段值2’
查询数据
select * from 表名 where 字段名1 =‘字段值1’ and 字段名2 = ‘字段值2’;
select 字段名1,字段名2 from 表名;
多表关联查询
1、select * from 表 where … and …写法;
1)内连接
SELECT * FROM 表1,表2,表3
WHERE 表1.关联字段1 =表2.关联字段1
AND 表3.关联字段1=表2.关联字段2
AND 其他条件;
2)左外连接 (部分版本不支持)
SELECT * FROM 表1 ,表2
WHERE 表1.关联字段1 =表2.关联字段1 (+)
注:(+)加在右表上,右外连接则反过来,只要将(+)加在左表上即可;
2、关联写法
1)内连接
SELECT * FROM 表1 a INNER JOIN 表2 b ON a.关联字段1= b.关联字段1 INNER JOIN 表3 c ON a.关联字段2= c.关联字段1 ;
2)左外连接
SELECT * FROM 表1 a LEFT JOIN 表2 b ON a.关联字段1= b.关联字段1 LEFT JOIN 表3 c ON a.关联字段2= c.关联字段1 ;
3)右外连接
SELECT * FROM 表1 a RIGHT JOIN 表2 b ON a.关联字段1= b.关联字段1 RIGHT JOIN 表3 c ON a.关联字段2= c.关联字段1 ;