目录
一、优点
- 简易:与其他大型数据库相比,MySQL 是一个相对简单的数据库系统,相对于小白容易上手
- 经济:与一些付费的数据库相比,MySQL可以免费使用这一点就很香
- 内存:MySQL数据库占用的内存仅仅几十mb,低配置电脑也能流畅运行
- 安全性:MySQL 数据库是完全网络化的,可在网上的任何地方访问,因此我们可以和任何地方的任何人共享同一个数据库。而且 MySQL 还能进行访问控制,可以控制哪些人不能看到自己的数据。
- 速度:MySQL的运行速度极快,在速度这方面完全可以击败市面上90%以上的数据库
二、创建数据库和表
- 语法为:create database 库名,下面是创建一个名为book的数据库
create database book;
- 使用数据库
use book;
- 创建一张数据表,例如:
-- 创建名为book的表 create table book( id int primary key, -- 第一个字段,书本的ID字段,数据类型为int name varchar(20), -- 第二个字段,书本的名字(name)字段,数据类型为String, price double(6,2) -- 第三个字段,书本的价格(price)字段,数据类型为double )
表中的属性(部分):
a. 数据类型:根据自己的需要来进行选择,一般为(int,string,double),对应的sql类型为(int,varchar(字段的长度),double),Boolean等类型用的较少
b. primary key:设置主键,一般用作id,是唯一值,当同一张表中为主键的id相同时,会运行报错
c. auto_increment:自动增长。默认从1开始,不适用于varchar()字段
d.default:默认字段,语法为(name varchar(20) default '张三'),这样这张表的name字段内容就默认都是张三了,添加数据时会将张三覆盖
三、基本使用语法(增删改查)
1. 增
- 普通的添加数据
-- 此添加不要把表的字段设为主键 insert into book values(1,'雪中悍刀行',39);
- 指定字段的添加
-- 给name添加数据 insert into book(name) values('雪中悍刀行'); -- 给name,price添加数据 insert into book(name,price) values('雪中悍刀行',39.99);
- 设置主键的添加,和指定字段的添加一样
-- 如果主键没有自动添加则为0或者null,设置了自动添加则为1,2,3... insert into book(name,price) values('雪中悍刀行',39.99);
2. 删
- 删除数据库
-- 删除名为book的数据库 drop database book;
- 删除表
-- 删除名为book的表 drop table book;
- 删除表中的数据
-- 删除book表的所有数据 delete from book; -- 删除单条数据,如删除id=1的一条数据 delete from book where id = 1; -- 删除多条数据,如删除id=1,id=2,id=3的三条数据 delete from book where id in(1,2,3);
3. 改
- 单个字段的所有数据
-- 修改单个字段的所有数据,这样表中所有数据的name字段都为张三了 update book set name='张三';
- 修改指定数据
-- 修改id=1的name数据 update book set name='雪中1' where id = 1; -- 修改id=1的name,price数据 update book set name='雪中1',price=59.99 where id = 1;
4. 查
- 查询所有数据
-- 查询book表所有数据 select * from book;
- 精确查询name
-- 根据name进行精确查询,如此只会查询出name='雪中悍刀行'的数据 select * from book where name = '雪中悍刀行';
- 模糊查询name
-- 根据name进行模糊查询,如此只会出现name字段包含‘雪’字的数据 select * from book where name like '%雪%'; -- 查询‘雪’字开头的数据 select * from book where name like '雪%'; -- 查询‘刀’字结尾的数据 select * from book where name like '%刀'; -- 查询‘雪’字开头且结果只有两个字的数据 select * from book where name like '雪_'; -- 查询‘中’字结尾且结果只有两个字的数据 select * from book where name like '_中';
- 根据字段查询数据
-- 查询name字段 select name from book; -- 查询name,price字段 select name,price from book;
- 查询在xx到xx之间的数据
-- 查询id=1到7的数据 select * from where id between 1 and 7;
- 连接查询
-- 连接多张表进行查询,下面用两张表示例,如有需要可继续进行添加 -- 创建book表(书本表) create table book( bid int primary key, -- book表的id,设为主键 name varchar(20) -- book表的name ) -- 创建client表(客户表) create table client( cid int primary key, -- climent表的主键 cname varchar(20), -- climent表的名字 bid int -- book表在climent表的外键,这样绑定外键便于删除表 ) -- 进行连接查询两张表,as为取别名,可写可不写 select * from book as b inner join climent as c on c.bid = b.bid; -- 也可以不写as select * from book b inner join climent c on c.bid = b.bid; -- 根据book表的name进行数据的查询 select * from book b inner join climent c on c.bid = b.bid where b.name = '雪中悍刀行'; -- 查询两张表部分字段,如查询book表的name和climent表的cname字段 select b.name,c.cname from book b inner join climent c on c.bid = b.bid;
以上是一部分MySQL基本操作,也是平常用的最多的操作 ,先写到这了,眼睛有点酸了