mysql是一种关系型数据库,和SQL ,oracle一样是较为常用的关系型数据库,属于oracle旗下的产品,在web应用方面,MySQL是最好的RDBMS(relational database management system,关系型数据库管理系统) 应用软件;
特点: 体积小,速度快,成本低, 开放源码 支持TCP/IP, ODBC(open database connectivity, 开放数据库连接), JDBC(Java database connectivity, Java数据库连接), 使用SQL数据语言形式
若在MySQL中有下列情况,将不会使用索引:
where 字句的查询条件有不等号(!=);
like '%ABC';
基础增删改查:
创建数据库:
命里提示符: create database 数据库名;
E.G: create database school;
查看数据库:
E.G: show databases;
查看数据库或表结构:
E.G: desc 表名;
创建表:
命令提示符:首先进入创建好的数据库,在进行建表的操作;
E.G: use school ;
create table lianxi (ID int(数据类型) not null(是否可为空) auto_increment(数据自增) primary key(主键), name varchar(50) null,age int not null); //使用逗号分隔
在创建表的时候最好把表里的字段名,类型,
添加数据:
E.G: insert into lianxi values (null(ID自增),"张宁","22");
增删改查等同于SQL:
E.G: select * from lianxi;
删除数据库和表:
drop database 数据库名;
drop database 表名;
显示最后一个警告: show warning;
删除的三种情况:
不需要该表,使用drop;
当仍要保留该表但是要删除所有记录时,使用truncate;
当需要删除部分记录时,使用delete;
插入数据时,可以同时可以插入多条 insert into lianxi values (....),(...);每组数据使用逗号分隔;
事务的四个条件:原子性,一致性,隔离性,持久性;
MySQL使用begin,commit,rollback来进行事务;
Ctrl + C 完全退出;
delimiter// -----将结束符号改为//
create procedure 存储过程名() ----------创建存储过程名称
begin ----------开始
select * from 表名; ------表名
end// --------结束
带参数:
delimiter//
create procedure 存储过程名( in 参数名 integer)
begin
select * from 表名
where age > a;
end//
模糊查询:
create procedure ggg(in hh varchar(500))
-> begin
-> select * from lianxi
-> where name like hh;
-> end//
调用存储过程 call 存储过程名();
上述为存储过程实例;