3种SQL语句种类:
1、 数据定义语言(DDL):用来建立数据库、数据库对象和定义列的命令。
create: 创建数据库和表
alter: 修改数据库和表
drop: 删除数据库和表
2、 数据操纵语言(DML):用来操纵数据库中数据的命令。
select: 查询表中的数据
insert: 向表中插入数据
update: 修改表中数据
delete: 删除表中数据
3、 数据控制语言(DCL):确认或取消对数据变更的执行操作,以及对用户的操作数据中的对象权限进行设定。
基本SQL语法
数据库操作:
- create database db_name; [新建数据库]
- show databases; [查看所有数据库]
- drop database db_name; [删除数据库]
- use db_name; [改变当前数据库操作]
数据表操作:
-
create table table_name(字段名 字段类型, 字段名 字段类型); [新建表]
-
show tables; [查看所有数据表]
-
drop table table_name; [删除表格]
-
desc table_name; [查看表的类型]
-
alter table table_name drop i; [删除表里面的字段]
-
alter table table_name add i int; [添加表里的字段]
-
alter table table_name change z zzz int; [修改字段名和属性]
注意:- 字段有一些属性的。
- 设置编码:charset=utf-8
- 主键 primary key [不能为空且唯一]
- not null 数据不能为空
- 自增长auto_increment
- 数据类型:varchar(255) int(20)
数据操作
-
插入数据
Insert into table_name(column1,column2…) values(value1,value2…) -
修改数据
Update table_name set column1=value, column2,… where 字段=字段值 -
查询数据
Select column_name, column_name from table_name where 字段=字段值
Select * from table_name where 字段=字段值
o like %a% 查询包含a的所有值
o like a% 查询a开头的所有值
o like %a 查询a结尾的所有值
o 字段 in (字段值1 , 字段值2,字段值3 ) 查询字段中的1,2,3
o not in 查询字段中除1,2,3 的数据 -
删除数据
Delete from table_name where 字段=字段值
注意:
- mysql 字符串是可以接受16进制的 //SQL注入中当 ’ 被过滤时,可用16进制绕过
- select database(); 查询当前库名
- Select user()或system_user(); 返回当前登入用户名
- Select Version(); 返回MySQL服务器的版本
- Sleep(n); 休眠n秒
- Group_congat(col) 返回由属于一组的列值连接组合而成的结果
- Select union select