MySQL语言解析----1

SQL:Structure Query Language 结构查询语言,是所有数据库操作的基础语言,是和数据库软件交互的基础接口。

 

一、SQL语言分类

DDL语言:Data Definition Language 数据定义语言,实现数据库对象的定义,例如创建,删除,修改等动作。

DML语言:Data Manipulation Language 数据操作语言,实现对象内容的变更,是操作最频繁的动作,例如insert,update,delete

DCL语言:Data Control Language 数据控制语言,实现权限控制,例如grant,revoke等

DQL语言:Data Query Language 数据查询语言,实现数据查询,selec动作,是最简单同时也是最复杂的语句

 

二、SQL基本操作

表(table):数据存放的基本对象,由很多行(row)数据组成的数据集合,每行拥有多个属性(列) ,excel表格与类似。

表的本质就是关系,将各个数据元素串联起来。

 

1.数据库级别操作

(1)查看当前数据库:

show databases; #不要对系统数据库做修改删除动作

(2)创建数据库

create database ykyk;

(3)选择操作数据库

use ykyk;

(4)删除数据库

drop  database ykyk;

 

2.数据库表级别操作

(1)查看当前数据库中的表

mysql> use ykyk;
mysql> show tables;

(2)创建表的基本语法

CREATE TABLE t_name ( field_name1 datatype1 CONSTRAINT1,....);

create table test(id int,name varchar(20));

(3)查看表结构

desc  test;

(4)查看表的构建语句

show  create table test \G;

(5) 修改表结构

alter table ….

alter table test add gender char(1);

(6)删除表

drop table test;

(7)查看表的状态(包括视图);

show table status from employees \G;

3.特殊类型表  -- 临时表

数据和表结构仅存在一个会话中

在各个会话中属于私有状态

create temporary table temp(id int);

二、DML语言

1.insert插入

语法:

INSERT INTO t_name [(field1, field2,...] values(value1,value2..);
INSERT INTO t_name [(field1, field2,...] SELECT ...;

特点:

1)可以每次插入一条数据;

2)可以每次插入多条数据;

3)可以使用子查询插入结果集,但是要注意列的列表要和对应的数值严格匹配。

2.update更新

语法:

UPDATE t_name SET field1=value1,field2=value2,... WHERE condition;

注意:更新数据要特别注意条件,防止更新范围过大

3.delete删除

语法:

DELETE FROM t_name WHERE condition;

删除数据也要注意删除条件,防止删除范围扩大

4.truncate数据

truncate t_name;

 

 

truncate和delete的区别

1)delete是DML语言,可以回滚,truncate是DDL语言,删除不可回滚;

2)delete可以删除部分数据,truncate删除整个表的数据;

3)delete需要的代价太大,需要记录更多的undo信息和redo日志,truncate需要的代价很小。

posted on 2018-03-06 19:28  ykyk_dba  阅读(184)  评论(0编辑  收藏  举报

导航