SQL分类
DDL
DDL:Data Definition Language,数据定义语言
主要是用来定义和维护数据库的各种操作对象,比如库、表、索引、视图
也可以说,操作的层次是在数据库的库和表的逻辑结构和存储结构上面,并没有对表中的实际的数据进行操作(增删改查)!
主要的操作关键字有:create、drop、alter等
DML
DML:Data Manipulation Language,数据操作语言
主要是对表中的记录进行增删改查的操作!
其中,“查询”部分,有可以叫作DQL
DQL:Data Query Language,数据查询语言!
关键字:select
DCL
DCL:Data Control Language,数据控制语言
主要是对数据库进行统一管理和统一控制,比如并发控制,存取控制,安全控制等;
具体的有数据库的权限管理(创建用户,给用户分配权限,回收权限等),数据的备份与恢复等!
Mysql的操作
数据库的操作
创建数据库(增)
关键字:create
语法形式:
create database 数据库名[数据库选项]
其中,数据库选项主要有两个:一个是字符集,一个是校对规则,暂时全部用默认!
原则上数据库名可以是使用任意的字符,但有些特殊字符(比如中文、关键字、纯数字)需要用到标识修饰符来进行包裹`特殊字符`。
特别注意:
创建表尽量不要用中文,因为PHP调用的时候调用不了!
查看数据库(查)
关键字:show
1, 查看当前有哪些数据库:
show databases;
2, 查看数据库的创建创建语句
show create database 数据库名;
删除数据库(删)
关键字:drop
drop database 数据库名;
在cmd窗口创建的mysql数据库,若在mysql文件夹内直接删除,会导致所创建的数据库不可用!
修改数据库(改)
注意:
数据库的名称不可以修改,只能修改库选项信息!
关键字:alter
语法形式:
Alter database 数据库名 新的库选项;
数据表操作
有关数据表的任何操作都需要先指定其所属的数据库
i,显示的指定数据库
create table 数据库名.数据表名;
ii,指定默认的数据库
use 数据库名;
创建数据表(增)
create table 表名(字段1 字段1类型[,字段2 字段2类型]...)
创建数据表(查)
1, 查询当前数据库下有哪些数据表
show tables;
模糊查询:
关键字:like
通配符:_可以代表任意的单个字符,%可以代表任意的字符!
2,查看表的创建语句
show create table 表名;
3,另外,还可以查看表的结构
desc 表名;
创建数据表(删)
drop table 表名;
注意:删除一个不存在的表会报错,所以有个比较完整的语法:
drop table if exists 表名;
引申出以下
创建|删除数据库
create database if not exists 库名;
drop database if exists 库名;
创建|删除 数据表
create tabale if not exists 表名(字段列表);
drop table if exists 表名;
创建数据表(改)
语法:
alter table 旧表名 rename to 新表名;
或者
rename table 旧表名 to 新表名;
修改列定义
上级命令还是:alter table 表名
下级命令的关键字:
增加:add
删除:drop
重命名:change
修改:modify
增加一列
alter table 表名add 新列名 字段类型
删除一列
alter table 表名 drop 字段名;
修改字段类型
Alter table 表名 modify 字段名 新的字段类型;
修改字段顺序
把某个字段放在最前面:
alter table 表名 modify 字段名 数据类型 first;
把字段名1放在字段名2的后面:
alter table 表名 modify 字段名1 数据类型 after 字段名2;
重命名字段
Alter table 表名 change原字段名 新字段名 新字段类型;(字段类型可改可不改)
修改表选项
alter table 表名 表选项信息;
修改表选项主要是修改表的储存引擎和表的默认字符集
数据操作
插入数据(增)
关键字:insert
语法形式:
insert into 表名(字段列表)values(值列表);
也可以一次插入很多条数据,中间以逗号隔开!
查询数据(查)
关键字:select
基本语法:
select *|字段列表 from 表名[查询条件];
其中查询条件可以省略,省略则表示where 1,查询所有数据
Select *from 表名 where 1;
只查询部分字段
Select 字段名1,字段名2...from 表名;
删除数据(删)
关键字:delete
语法形式:
delete from 表名[删除条件];
修改数据(改)
关键字:update
语法形式:
update 表名 set 字段1=新值,字段2=新值2...[修改条件];