突然用到MySQL大脑有点小空白,学完的时间比较长了,不过突然用到,发现自己已经忘却的差不多了,什么语法都记不清了,赶紧找时间补完写下来。
对语法的强制性记忆是个坏坏的选择,人的大脑记住有联系的东西才会更容易记住,况且语法设计的时候本身就是有逻辑的,那么开始联系记忆。
首先要对SQL语言的功能进行分类,在适合的情况用适合的动词。
数据查询:select
数据定义:create、alter、drop
数据操纵:insert、update、delete
数据控制:grant、revoke
<b>数据查询</b>no problem,这是数据库最常用的功能,SQL全称是结构化查询语言,毋庸置疑,就是查询的语言,可见SQL中最主要的功能就是查询。
<b>数据定义</b>就是对数据库对象的定义的操作,数据库对象有user(用户)、database(数据库)、table(表)、view(视图)、index(索引)、trigger(触发器)、function(函数)、procedure(存储过程)等等等,创建(create)对象定义、更改(alter)对象定义、删除(drop)对象定义。
数据库对象中,只有table(表)、index(索引)可以更改(alter)定义。
更改(alter)对象定义还有对对象中的元素(属性、约束条件等)进一步的操作动词:add、modify、change、drop
<b>数据操纵</b>就是对表中的数据进行操作,插入数据(insert),修改(update)数据,删除(delete)数据。
<b>数据控制</b> 授权(grant)和撤回权限(revoke)。
数据库操作
创建数据库
create database d_name;
查看数据库定义
show create database d_name;
查看所有数据库
show databases;
删除数据库
drop database d_name;
使用数据库
use d_name;
表的操作
创建表定义
create table t_name(
c_name1 type column_constrants,
c_name2 type column_constrants,
table_constrants
);
修改表定义
alter table t_name
add column c_name type column_constrants
drop column c_name
modify column c_name type column_constrants
change column old_c_name new_c_name column_constrants
add primary key(c_name)
drop primary key;
查询表定义
show create table t_name;
删除表定义
drop table t_name;
数据操作
插入数据
insert into t_name [(c_name,c_name2...)] values(c,c2...);
修改数据
update t_name set c_name = new_c where ...;
删除数据
delete from t_name where ...;
查询数据
单表查询>
select c_name,c_name2.... from t_name;
多表连接查询>
数据控制
权限(authority)操作包括且不限于上面所提及对象操作和数据操作的动词。
授权
grant authority on db_object to user;
撤销授权
revoke authority on db_object from user;