目录
一、前言
数据库在实际开发中用处极大,学习数据库已然是基本的要求。
二、数据库
数据库的种类有许多,企业中常用的有MySQL、Oracle,其中MySQL使用最多,是因为他开源免费而且功能也是十分强大。
三、为什么要使用数据库?
数据库可以持久化操作,我们都知道内存中的数据是以高电压低电压产生0和1进行数据存储的一旦断电内存中的数据就会消失。
持久化的主要作用是将内存中的数据存储在关系型数据库中,也可以存储在磁盘文件XML数据文件中。
四、 数据库相关的概念
DB:数据库(Database)
即储存数据的仓库,它的本质是一个文件系统,他保存了一系列有组织的数据
DBMS:数据库管理系统(Database Mangement System)
是一种曹总和管理数据的大型软件(如:MySQL),用于建立、使用和维护数据库,对数据库进行统一管理和控制,用户通过数据库管理系统访问数据库中表的数据
SQL:结构化查询语言(Structured Query Language)
用来对数据库进行一系列操作的语言
他们之间的一些关系。
⑤SQL语句操作
创建数据库
格式: create database 数据库名
如:创建一个db01的数据库
create database db01
数据库中sql语句不区分大小写
删除数据库
格式: drop database 数据库名
如:删除db01的数据库
drop database db01
建库并设置字符集
格式: create database 数据库名 character set 字符集
如:创建数据库为db02,字符集是utf8
create database db02 character set utf8
查看所有数据库
show databases
注:在创建数据库、表时,为了避免和关键字冲突,可用``,如`name`
创建表
格式: create table 表名( field1 datatype, field2 datatype, field3 datatype, ..... ) character set 字符集 collate 校对规则 engine 引擎
如:
create table utab( id int, `name` varchar(255), age int ) character set utf8 collate utf8_bin engine innodb
校对规则默认utf_bin(不区分大小写,数据TOM和tom是一样的)
修改表
案例1:在员工表emp的上增加一个imge列,varchar类型(要求在id列的后面)
alter table emp add image varchar(32) not null default '哈哈' //不允许为空,默认为哈哈 after id;
注:分号可加可不加(建议加)
查看所有列(字段)
格式:
desc 表名
select *from 表名
如:查看emp表
desc emp select*from emp
案例2:修改emp表中的job列,使其长度变为60
alter table emp modofy job varchar(60)
案例3:删除emp表中的sex列
alter table emp drop sex
案例4:将表名emp改为employee
rename table emp to employee
案例5:修改表emp的字符集为utf8
alter table emp charcter set utf8
案例6:将表名为emp的name列修改为user_name
alter table emp change `name` `user_name` varchar(255)
insert基本使用
表中加入数据
格式: insert into 表名 (字段1,字段2,字段3....) values(值1,值2,值3....)
若加表的全部字段,则表名后面的字段不用写
案例1:向emp中加入数据,emp中的数据类型分别是(int,int,varchar(255))
insert into emp values (1,20,'张三');
案例2:向emp中加入数据,只加id和age那行,emp中的数据类型分别是(int,int,varchar(255))
insert into emp(id,age) values (2,20);
update语句
案例1:在emp表中将所有员工工资修改为7000
update emp set salary=7000;
案例2:在emp表中将张三的工资修改为3000
update emp set salary=3000 where `name`='张三';
案例3:在emp表中将李四的工资加1000
update emp set salary=salary+1000 where `name`='李四';
修改多个列
用逗号隔开即可
案例4:将张三的工资改为5000,和工作改为敲代码
update emp set salary=5000,job='敲代码' where `name`='张三';
delete语句
案例1:删除emp表中名为张三的
delete from emp while `name`='张三'
案例2:在emp中使名为李四的工作那列置空
update emp set job='' where `name`='李四';
案例3:删除emp表中数据(这个删除只是将emp表中的数据清空,真正删表还得drop)
delete from emp
删emp表
drop table emp
要小心使用删除类操作,不然就得跑路了,从删库到跑路