数据库的增删改查语句
一、关于库的语句
1.1.创建库
create databases 库名 ;
或 create databases 库名 charset=utf8;
1.2.删除库
Drop database 库名;
1.3.其他库操作
1.3.1.切换库
Use database 库名;
1.3.2.查看库中所有的表
Show databases;
注意:后面一定要加英文状态下的分号;
如:
// 创建名为school 的数据库
create databases school;
// 删除名为 school 的数据库
drop database school;
二、关于表的语句
2.1.关于表的操作
2.1.1.新建表:
简单:
Create table 表名(
属性名1 数据类型[约束条件],
属性名1 数据类型[约束条件],
…
);
进阶:
Create if not exists table 表名(
属性名1 数据类型[约束条件],
属性名1 数据类型[约束条件],
…
);
// 如,创建一个表,名为student
create if not exists table student(
id int unsigned auto_increment,
name varchar(10) not null,
sno int(100) not null,
sex varchar(10),
class varchar(100),
age int(10),
primary key(id)
)engine = InnoDB default chatset = utf8 ;
// if not exists 表示在创建该表前,会删除同名的已有的表
// unsigned 意思是该字段不能为负数
// auto_increment 意思是该字段时自增长
// not null 说明该字段在插入数据时不能为空
// primary key() 表示将id这个字段设置成主键
// engine 设置存储引擎,可以不写
// chatset 设置编码,最好写上,免得后面插入数据时报错
2.2.删除表:
Drop table 表名1,表名2,...;
2.3.修改表:
2.3.1.增加列
Alter table 表名 add 新列名 数据类型;
2.3.2.删除列
Alter table 表名 drop 列名;
2.3.3.修改列属性
Alter table 表名 modify 列名 新数据类型;
2.3.4.修改字段名(列名)
Alter table 表名 change 旧列名 新列名 数据类型;
2.4.查看表结构:
Desc 表名;
三、表数据的操作
3.1.插入/增加数据
(1)格式一:
insert into 表名(列名1,列名2,...) values(值1,值2,...);
(2)格式二—简化:
insert into 表名 values(值1,值2,值3...);
(3)格式三—多行数据:
insert into 表名 values(值1,值2,...),(值1,值2,...),(值1,值2,...);
3.2.删除表中数据
(1)删除表中所有数据:
delete from 表名
(2)删除某一条数据:
delete from 表名 where 条件
3.3.更新/改表中数据
(1)改某列:
Update 表名 set 列1=值1;
(2)多列修改:
Update 表名 set 列名1=值1,列2=值2,列3=值3...;
(3)根据条件改某几列的值:
Update 表名 set 列名=值 where 条件;
3.4.查询表中数据
各种格式:
// 标准格式
Select 列名
From 表名1, 表名2, ...
Wehere 条件
Group by 分组列
Having 搜索条件
Order by 升降序[asc|desc]
limit (起始,结束);
// 子查询格式
select a.列名
from 表名1 a
where name =(select b.name
from 表名2 b
where b.age = 99 );
// 表连接 -- 请看进阶篇
// 一表的查询的结果作为新表连接查询
// 内连接
// 外连接
3.4.1.格式:
Select 列名 from 表名;
表示查询某表的所有列的数据
3.4.2.查询时除去重复的数据
Select distinct 列名1 from 表名 ;
重复的数据只显示一条
3.4.3.查询时显示别名
(1)格式一:
Select 列名1 as ‘别名’,列名2 as ‘别名2’ from 表名 ‘表别名’;
(2)格式二:
Select 列名1 ‘别名’,列名2 ‘别名2’ from 表名 ‘表别名’;
// 格式1
select 列名 as a1
from 表名 as b1;
// 格式2
select 列名1 a1, 列名2 a2
from 表名1 b1, 表名2 b2
where b1.id = b2.id;
四、含条件查询
4.1.条件查询
4.1.1.格式:
-
标准格式:
Select 列名 from 表名 where 条件
4.2.条件中的比较运算符:
4.3.条件中的逻辑运算符:
-
and格式:同时满足多条件:
Select 列名 from 表名 where 条件 and 条件2...;
-
or格式:只需满足其中一个条件:
Select 列名 from 表名 where 条件 or 条件2...;
4.5.条件查询的其他操作:
4.5.1.范围查询
(1)在范围值内搜索:
Select 列名 from 表名 where 列名 between 开始值 and 结束值
(2)不在范围值内搜索:
Select 列名 from 表名 where 列名 not between 开始值 and 结束值
4.5.2.条件搜索时任意值搜索
(1)格式:
Select 列表 from 表名 where 列名 in(任意值);
(2)格式2:
Select 列表 from 表名 where 列名 not in(任意值);
4.5.3.条件搜索时字符匹配
(1)格式—匹配一个或多个字符:
Select 列1 from 表 where 列1 like ‘a%’;
查询列1中以字符a开头的所有信息
Select 列1 from 表 where 列1 not like ‘a%’;
查询列1中不以字符a开头的所有信息
(2)格式—匹配一个字符:
Select 列名 from 表 where 列1 like ‘a_’
查询列1中以字符a开头并是两个字符的所有信息
4.5.4.条件搜索时空值查询
(1)格式:
Select 列名 from 表 where 某列 is null
查询某列中有空值的信息
3.6.查询时限定行数
(1)格式:
Select 列名 from 表 limit start nums
(2)注意:
Start 开始行的下标,可写可不写,不写默认从0(第一行)开始
Nums 总共要查询几行
入门先到这,掌握这些,基本算是入门了