常用的结构化查询语言主要分为数据定义语言(DDL)、数据操作语言(DML)、数据控制语言(DCL)和数据查询语言(DQL)。特别在关系型的数据库例如(mysql、mariadb、 percona、DB2、Oracle、SQL server)等都是采用共同的SQL语句来实现增删改查等数据的管理。本文会针对以下的四种类型的结构化SQL来进行介绍。
DDL 数据定义语言 create drop alter
DML 数据操作语言 insert delete update
DCL 数据控制语言 grant commit rollback
DQL 数据查询语言 select
一、 create与drop 简介
首先create 与drop 是直接可以对数据库进行操作,例如创建数据库、删除数据库。简单示例如下,
CREATE DATABASE IF NOT EXISTS DBMS default character set utf8;
#创建一个名为DBMS默认字符集为UTF8的数据库
SHOW databases; #显示当前数据库管理系统里面所有的数据库,就可以看到我们当前创建的DBMS库
Drop database DBMS; #删除名为DBMS的数据库
其次,create 和drop能对表进行操作,和对库的操作一致 将database 更改为table,即可创建和删除操作。后面我们要联系增删改查,所以创建以下表SQL如下:
create table if not exists user (
id int unsigned not null auto_increment primary key,
而3334989是整形,也会插入成功,这里是将整形转换成字符串类型。
将数据插入到数据库的方法除了insert外,还有load data infile (加载文件),以及从其他表查询插入的方法,可以参考之前的文章,甚至可以用navicat之类客户端工具导入。 三、删除数据
删除数据可以分为删除部分和删除全部,删除全部里面又可以分为只删除数据和表和数据一起删除,删除表和数据 ,可以使用上面提到的drop table tablename ,删除全部数据可以用delete from tablename 或者tuncate table。
delete from table 和tuncate table 的区别:
delete 删除后不会刷新主键的值 例如你删除主键ID(3-5),那么下次插入数据就是从5开始。
delete from user #删除所有数据
insert into user (username,password ) VALUE('pythonlinux','javadocker' ),('LInuxmysql','redis')