语法集合
-
-
-
-
- 1 查看所有数据库/数据表
- 2 查看想要看的数据库/数据表信息
- 3 删除数据表/数据库
- 4 选择进行操作的数据库
- 5 创建数据库
- 6 创建数据表(同时也是创建数据表的时候创建索引)
- 7 修改数据表名
- 8 修改字段名
- 9 修改字段的数据类型
- 10 添加字段
- 11 删除字段
- 12 修改字段的排列位置
- 13 使用create index语句在已经存在的表上创建索引
- 14 使用alter table语句在已经存在的表上创建索引
- 15 添加数据--可全部添加也可部分添加
- 16 为表中所有字段添加数据insert语句中不指定字段名
- 17 额外学到的一种添加方式
- 18 同时添加多条记录
- 19 更新数据
- 20 delete删除数据
- 21 truncate删除数据
- 22 查询语句
- 23 为表取别名
- 24 为字段取别名
- 25 添加外键约束
- 26 删除外键约束
- 27 交叉连接
- 28 内连接
- 29 外连接
- 30 事务开启/提交/回滚
- 31 设置事务的隔离级别
- 32 创建存储过程
- 33 在存储过程中定义变量
- 34 定义条件
- 35 定义处理程序
- 36 光标的使用
- 37 流程控制语句
- 38 储存过程的使用
- 39 修改存储过程
- 40 修改存储过程
- 41 创建视图
- 42 查看视图定义信息
- 43 修改视图
- 44 更新视图
- 45 删除视图
- 46 数据备份
本来是不想弄这个目录的,因为太多了,但是又不想翻,所以还是弄了个。
1 查看所有数据库/数据表
show databases/tables;
2 查看想要看的数据库/数据表信息
show create database/table 数据库名/数据表名 [\G];
describe 表名;
desc 表名;
3 删除数据表/数据库
drop database/table 数据库名/表名;
4 选择进行操作的数据库
use 数据库名;
5 创建数据库
create database 数据库名;
6 创建数据表(同时也是创建数据表的时候创建索引)
create table 表名
(
字段名1,数据类型[完整性约束条件],
字段名2,数据类型[完整性约束条件],
...
字段名n,数据类型[完整性约束条件],
[unique][fulltext][spatial] index|key [别名](字段1 [(长度)] [asc|desc])
)[这里可改变引擎 比如 engine = MyISAM];
7 修改数据表名
alter table 旧表名 rename [to] 新表名;
8 修改字段名
alter table 表名 change 旧字段名 新字段名 新数据类型;
9 修改字段的数据类型
alter table 表名 modify 字段名 数据类型;
10 添加字段
alter table 表名 add 新字段名 数据类型 [约束条件][first|after 已经存在字段名]
11 删除字段
alter table 表名 drop 字段名;
12 修改字段的排列位置
alter table 表名 modify 字段名1 数据类型 first|after 字段名2;
13 使用create index语句在已经存在的表上创建索引
create [unique|fulltext|spatial] index 索引名 on 表名 (字段名[(长度)] [asc|desc])
14 使用alter table语句在已经存在的表上创建索引
alter table 表名 add [unique|fulltext|spatial] index 索引名 (字段名 [(长度)] [asc|desc])
15 添加数据–可全部添加也可部分添加
insert into 表名(字段1,字段2,···) values(值1,值2,···);
16 为表中所有字段添加数据insert语句中不指定字段名
insert into 表名 values(值1,值2,···)
17 额外学到的一种添加方式
insert into 表名 set 字段名1 = 值1[,字段名2 = 值2,···]
18 同时添加多条记录
insert into 表名 [(字段1,字段2,···,字段n)] values(值1,值2,···),(值1,值2,···),···,(值1,值2,···);
19 更新数据
update 表名 set 字段1 = 值1[,字段名2 = 值2,···] [where 条件表达式];
20 delete删除数据
delete from 表名 [where 条件表达式];
21 truncate删除数据
truncate [table] 表名;
22 查询语句
select [distinct] * |字段名1,字段名2,字段名3,··· from 表名
[where 条件表达式1]
[group by 字段名 [having 条件表达式2]]
[order by 字段名 [asc|desc]]
[limit [offset,] 记录数];
select [distinct] * |字段名1,字段名2,字段名3,··· from 表名
where 字段名 [not] in(元素1,元素2,···);
select [distinct] * |字段名1,字段名2,字段名3,··· from 表名
where 字段名 [not] between 值1 and 值2;
select [distinct] * |字段名1,字段名2,字段名3,··· from 表名
where 字段名 is [not] null;
select [distinct] * |字段名1,字段名2,字段名3,··· from 表名
where 字段名 [not] like '匹配字符串';
select [distinct] * |字段名1,字段名2,字段名3,··· from 表名
where 条件表达式1 and/or 条件表达式2 [··· and 条件表达式n];
select count(*) from 表名;
select sum(字段名) from 表名;
select avg(字段名) from 表名;
select max(字段名) from 表名;
select min(字段名) from 表名;
23 为表取别名
select * from 表名 [as] 别名;
24 为字段取别名
select 字段名 [as] 别名 [,字段名 [as] 别名, ···] from 表名;
25 添加外键约束
alter table 表名 add constraint fk_id foreign key(外键字段名) references 外表表名(主键字段名)
[on default {
cascade|set null|no action|restrict}]
[on update {
cascade|set null|no action|restrict}]
26 删除外键约束
alter table 表名 drop foreign key 外键名;
27 交叉连接
select * from 表1 cross join 表2;
28 内连接
select 查询字段 from 表1 [inner] join 表2 on 表1.关系字段 = 表2.关系字段
29 外连接
select 所查字段 from 表1 left|right [outer] join 表2 on 表1.关系字段 = 表2.关系字段 where 条件;
30 事务开启/提交/回滚
start transaction;
commit;
rollback;
31 设置事务的隔离级别
set session transaction isolation level read uncommitted|read committed|repeatable read|serializable;
32 创建存储过程
create procedure sp_name([proc_parameter]) [characteristics···] begin routine_body end;
[in|out|inout]param_name type
1)language sql
2)[not]deterministic
3){
contains sql|no sql|reads sql data|modifies sql data}
4) sql security{
definer|invoker} 指明谁有权限来执行。
5) comment'string' 注释信息,可以用来描述存储过程
33 在存储过程中定义变量
declare var_name[,varname]···date_type[default value];
set var_name = expr[,var_name = expr]···;
select col_name[···] into var_name[···] table_expr;
34 定义条件
declare condition_name condition for [condition_type];
35 定义处理程序
declare handler_type handler for condition_value[,···] sp_statement
handle_type: continue|exit|undo
condition_value: sqlstate[value]|condition_name|sqlwarning|not found|sqlexception|mysql_error_code
1) sqlstate[value] sqlstate_value
2) condition_name
3) sqlwarning
4) not found
5) sqlexception
6) mysql_error_code
36 光标的使用
declare cursor_name cursor for select_statement;
open cursor_name
fetch cursor_name into var_name[,var_name]···
close cursor_name
37 流程控制语句
if expr_condition then statement_list
[elseif expr_condition then statement_list;]
[else statement_list;]
end if;
case case_expr
when when_value then statement_list;
[when when_value then statement_list;]···
[else statement_list;]
end case;
case
when expr_condition then statement_list;
[when expr_condition then statement_list;]
[else statement_list;]
end case;
[loop_label:]loop
statement_list[leave loop_label];
end loop [loop_label];
iterate label;
[repeat_label:] repeat
statement_list;
until expr_conditionend repeat[repeat_label];
[while_label:]while expr_condition do
statement_list;
end while[while_label];
38 储存过程的使用
call sp_name([parameter[,···]])
show {
procedure|function} status [like 'pattern'];
show create {
procedure|function} sp_name;
select * from information_schema.Routines
where routine_name = '存储过程名' and routine_type = 'procedure'\G;
39 修改存储过程
alter {
procedure|function} sp_name [characteristic···];
40 修改存储过程
drop {
procedure|function} [if exists] sp_name;
41 创建视图
create [or replace] [algorithm = {
undefined|merge|temptable}]
view view_name[(column_list)]
as select_statement
[with [cascaded|local] check option]
42 查看视图定义信息
describe|desc 视图名;
show table status like '视图名';
show create view 视图名;
43 修改视图
create or replace [algorithm = {
undefined|merge|temptable}]
view view_name[(column_list)]
as select_statement
[with [cascaded|local] with option]
alter [algorithm = {
undefined|merge|temptable}]
view view_name[(column_list)]
as select_statement
[with [cascaded|local] check option]
44 更新视图
update 视图名 set 字段名=value[,字段名=value,···] where 条件;
insert into 表名 values ···
delete from 视图名 where 条件;
45 删除视图
drop view[if exists]
view _name[,view_name1]···
[restrict|cascade];
46 数据备份
mysql -uusername -ppasswprd dbname [tbname1[tbname2···~]]>filename.sql