本文已参与「新人创作礼」活动,一起开启掘金创作之路。
前言:
之前也是学了一段时间的sql注入,但是一点进展没有,并思考哪里出了问题,后来才知道是因为我连最基础的sql语句都不知道,还注啥呀。所以现在再来系统的学习一下sql语句。大家有需要的可以点赞收藏喔
tips:数据库中不区分大小写喔
1.数据库操作
-
增加数据库
create database 库名
-
删除数据库
drop database 库名
-
查看数据库
- select database(); //查看当前选中的数据库
- show databases;//查看都有哪些库
- show create database 库名;//更详细的显示数据库信息
2.表的操作
在数据库中,创建表的过 程中需要说明数据的类型,可能有的小伙伴对数据的类型不太清楚(我就是这样),所以我在这里再来总结一下。
数据类型
-
数值
整型
类型 | 大小 |
---|---|
tinyint | 1字节 |
smallint | 2字节 |
mediumin | 3字节 |
int | 4字节 |
bigint | 8字节 |
浮点型
类型 | 大小 |
---|---|
float | 3字节 |
double | 8字节 |
-
字符串
类型 | 优缺点 |
---|---|
char | 定长字符串,速度快,但浪费空间 |
varchar | 变长字符串,速度慢,但节省空间 |
列属性设置
primary key(主键) 一个表里只能有一个主键,一个主键必须唯一对应表的一行。例如一个学号姓名的表,叫你想找到一个叫王大壮的人,但是可能有重名的人,那怎么办呢的。我们只需要定义ID为主键就行了。我们刚才提到,一个主键必须唯一对应表的一行,假如我们定义ID为主键,那么当表里有一个ID为1的行,再定义ID为一的行就会报错。
demo
create table person(id int,stu varchar(10),primary key(id));
-
表的创建
create table 表名(字段名 类型)
-
表的复制
create table 表名 like 表名
create table 表名 select * from 表名
-
删除表
drop 表名//把整个表都删除了
truncate 表名//只删除表中的数据
修改表
- 修改表本身选项比如字符编码,存储引擎
alter table 表名 表的选项
- 表的重命名
rename table 表名 to 新表名
rename table 表名 to 库名.表名//将表移动到另外一个数据库
- 增加字段
alter table 表名 add 字段名 字段类型
- 创建主键
add primary key(字段)
- 删除字段
drop 字段名
- 删除主键
drop primary key()
查看表
- 查看存储引擎
show engines
- 查看所有表
show tables
show tables from 库名
3.表数据操作
增删改查
- 增:添加数据
insert 表名 (字段名,字段名,字段名)values (数据,数据,数据)
tips:如果数据是字符串类型的,需要加上单引号或者双引号。
向指定字段插入数据
insert 表名 set 字段名=数据;
- 删除表
delete from 表名
查看表所有数据
select *from 表名
where子句
eg:
select * from person where id =1;