欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

MYSQL的学习笔记

程序员文章站 2022-04-19 15:13:45
...
数据库的基本操作
1.创建数据库:Crete database 数据库名;
在创建数据库表之前,使用use 数据库名m;之后创建数据库。
2.创建数据库表:create table 表名(字段名 数据类型 约束条件);
3.查看数据表结构 :desc 表名; 和show create table 表名 \g

4.约束条件;主键约束 primary key
非空约束 not null
唯一约束 unique
默认约束 default
设置属性值的自增 auto_increment
5.修改数据表;修改表名 alter table 表名 rename 新表名
修改字段名 alter table 表名 modify 字段名 数据类型
修改数据类型 alter table 表名 change 旧字段名 新字段名 数据类型
添加字段 alter table 表名 add 字段名 数据类型 约束条件 firsT/after 字段名
删除字段 alter table 表名 drop 字段名
更改表的存储引擎 alter table 表名 engine=存储引擎
总结:对表结构的修改:alter table 表名 modify 等等;
数据类型和运算符
数据类型:字符串型,数值型,日期时间型
1.整型;tinyint smallint mediumint int bigint.
2.浮点型;float DOUBLE decimal.
3.日期时间型;year time date datetime timestamp.
4.文本字符串;char varchar tinytxet text mediumtext longtext enum set .
mysql函数
abs() sqrt() ceil() ceiling() floor() rand() round()
查询数据和插入更新删除
创建数据库表:create database 数据库名;
打开数据库:use 数据库名;
新建数据表:create 表名 (字段名 数据类型 );
{
数据类型: 字符串型,数值型,日期时间型
1.整型;tinyint smallint mediumint int bigint.
2.浮点型;float DOUBLE decimal.
3.日期时间型;year time date datetime timestamp.
4.文本字符串;char varchar tinytxet text mediumtext longtext enum set .
约束条件 :主键 primary key
唯一主键 unique
非空约束 not null
默认约束 default 默认值
外键 constraint 外键名 foreign key (字段名) references 主键名 主键列;
属性值自增 auto_increment
查看数据表结构:desc 表名
show create table 表名
修改数据表 :修改表名 alter table 表名 rename 新表名
修改字段名 alter table 表名 change 字段名 新字段名 数据类型
修改数据类型 alter table 表名 modify 字段名 数据类型
添加字段 alter table 表名 add 字段名 数据类型(first /after )
删除字段 alter table 表名 drop 字段名
更改表的存储引擎 alter table 表名 engine =存储引擎 删除外键约束 alter table 表名 drop foreign key 外键约束名
基本查询数据 select 字段名 from 表名 (where
gropy by having with rollup
order by
limit
distinct
连接查询 内连接 select 字段名 from 表名1 inner join 表名2 on 表名1.字段=表名2.字段;
左连接 select 字段名 from 表名1 left outer join 表名2 on 表名1.字段=表名2.字段;
右连接 select 字段名 from 表名1 right outer join 表名2 on 表名1.字段=表名2.字段;
* 左连接就是所要查询的字段结果包含所有左表的字段
子查询(嵌套查询) ( any(some)
all
exists (exists 和条件表达式一起使用,如果exists后面的查询语句返回至少一条记录,
则exists结果为ture 此时外层查询语句将进行查询,not exists 与之相反。)
in )
合并查询结果 select 字段名 from 表名 查询条件 union(all)select 字段名 from 表名 查询条件
注意:两个表对应的列数和字段名必须相等。不使用all,结果删除重复的记录。
]
}
插入数据表:insert into 表名(字段名)values (所要插入的数据 );
更新数据:updata 表名 set 字段=值 条件;
删除数据:delete from 表名 条件;

索引
优点:创建唯一索引,保证数据库表的每一行数据的唯一性,大大加快查询速度,在事项数据的参照完整性方面,可以加速表和表之间的连接
在使用分组和排序字句进行数据查询,也可以减少查询中分组和排序的时间。
普通索引 index(字段名):最基本的索引类型,没有唯一性的限制,只是为了加快对数据的访问速度
唯一索引 unique idenx 索引名(字段)索引值必须是唯一的,但允许有空值,减少查询缩影操作的执行时间,尤其是对庞大的数据表。
单列索引 一个表可以有多个索引
组合索引 多个字段上创建一个索引,查询时遵循最左前缀,只有查询符合这样的最左前缀时才能使用索引
全文索引 fulltext 可以用于全文搜索,只用MYISAM存储引擎支持fulltext 索引 并且只为char varchar text
空间索引 spatial 必须在MYISAM类型的表中创建,且空间类型的字段必须为空,

在已经存在的表上创建索引
alter table 表名 add index 索引名 (字段名(索引长度))
create index 索引名 on 表名(字段名);

alter table 表名 drop index 索引名;

drop index 索引名 on 表名

创建存储过程和函数
create procedure 存储过程的名称()begin 存储过程体 end;
每次调用都会执行存储过程体。

创建存储函数
create 存储函数名称 (参数列表)
returns 返回值类型
return (函数体);

变量的使用
定义变量:declare 变量名 变量类型 default 默认值;
为变量赋值:set 变量名=值;

光标的使用
声明光标:declare 名称 cursor for for 查询语句;
打开光标:open 名称;
使用光标:fetch 名称 into 将光标中查询出的结果存入改参数中;
关闭光标;close 名称;

流程控制的使用(case loop leave iterate repeat while )

调用存储过程:call 名称(参数);
调用存储函数:select名称(参数);


视图
视图的含义:视图是虚拟表,是从数据库中一个或多个表中导出的表,
create [or replace] view 视图名 as select语句
create view 视图名(自己所定义的列名) as select 语句

desc 视图名;
show create view 视图名 \G
show table status like '视图名'\G

修改视图和创建视图是一样的。
alter view 视图名 as select语句

updata 视图名 set 字段=值;

删除视图 drop view if exists 视图名;


MYSQL触发器
和存储过程一样,都是嵌入到mysql的一段程序,触发器是由时间来触发某个操作,这些事件包括insert update delete
创建触发器

创建只有一个执行语句的触发器
create trigger 触发器名称 标识触发时机(before/after )标识触发事件(insert update delete)on标识触发器的表名 for each 触发器执行语句;

本文讲解了mysql的相关内容,更多内容请关注。

相关推荐:

MySQL数据库多表操作

MySQL数据库单表查询

Oracle数据库输出输入

以上就是MYSQL的学习笔记的详细内容,更多请关注其它相关文章!

相关标签: MYSQL