首页 >数据库 >mysql教程 >MYSQL的学习笔记

MYSQL的学习笔记

jacklove
jacklove原创
2018-06-11 23:19:321467浏览

数据库的基本操作
     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的相关内容,更多内容请关注php中文网。

相关推荐:

MySQL数据库多表操作

MySQL数据库单表查询

Oracle数据库输出输入

以上是MYSQL的学习笔记的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn