一、MySQL数据库的基本使用
1、数据库
1)关系型数据库中核心元素
数据行
数据列
数据类
2)数据库(数据表的集合)
常用关系型数据库:
Oracle
SQL Server
MySQL
SQLlite(主要用于手机端)
3)非关系型数据库:
又称:NoSQL(Not Only SQL),意为不仅仅是SQL,对NoSQl最普遍的定义是”非关联型的“,强调Key-Value的方式存储数据。
常用的非关系型数据库:
MongoDB
Redis
2、数据库的作用
存储和管理数据的一个仓库,是用来持久化存储和快速读取数据的。
特点
持久化存储
读写速度极高
保证数据的有效性
二、关系型数据库管理系统(RDMS)
1、分类:
关系型数据库服务端软件
关系型数据库客服端软件
关系型数据库服务端软件:
主要负责不同的数据库,而每个数据库里面会有一系列数据文件,数据文件是用来存储数据的,其实数据库就是一系列数据文件的集合。
关系型数据库客户端软件:
主要负责和关系型数据库服务端软件进行通信,向服务端传输数据或者从服务端获取数据。
2、SQL:
SQL:结构化查询语言,是一种用来操作RDMS的数据库的语言。实现数据库客户端和数据库服务端之间的同行,SQL就是通信的桥梁。
SQL语言:(不区分大小写)
DQL:数据查询语言,如select
DML:数据操作语言,如增删修:insert、delete、update
TPL:事务处理语言,包括begin transaction、commit、rollback
DCL: 数据控制语言,进行授权与权限回收,如grant、revoke
DDL:数据定义语言,进行数据库、表的管理,如create、drop
三、MySQL数据库
1、介绍
关系型数据库管理系统
特点:
开源免费
支持大型书的数据库,可以处理拥有上千万调记录的大型数据库
使用标准SQL数据语言形式
可以安装在不用的操作系统,并提供多种编程语言的操作接口
2、安装(略)
(一些Linux下安装的操作)
配置完后记得重启
需要加个wine兼容软件(具体百度)
登录离开数据库
三、数据类型
1、数据类型
(可以看出有符号的范围小于无符号的范围)
整数:tinyint-smallint-medlumint-int-bigint
小数类型:float-double-decimal
其中decimal用法:DECIMAL(M,D) -->DECIMAL(5,2) 123.45678 -->123.45
2、日期和时间类型
3、字符串类型
四、DDL操作
1、
查看当前数据库所有表名称
show databases;
查看指定某个表的创建语句
show create table 表名;
查看表结构
desc 表名;
删除表
delete table 表名;
1、创建表:
(创建一张空表,指定表的名字,几列、列名以及每一列的数据类型)
create table [if not exists] 表名(
字段1 类型【(宽度)】 【约束条件】 【comment ‘字段说明’】,
字段2 类型【(宽度)】 【约束条件】 【comment ‘字段说明’】,
字段3 类型【(宽度)】 【约束条件】 【comment ‘字段说明’】
)【表的一些设置】;
示例:
use mydb1;
create table if not exists student(
sid int,
name varchar(20),
gender varchar(20),
age int,
birth date,
address varchar(20)
);
2、修改表结构
语法:
alter table 表名 add 列名 类型(长度) 【约束】;
例子:
--为student表添加一个新的字段为:系别dept类型为varchar(20)
alter table student add dept varchar(20);
修改列名和类型
alter table 表名 change 旧列名 新列名 类型(长度) 约束;
示例
-- 为student表的dept字段更换为department varchar(30)
alter table student change dept department varchar(30);
3、删除列
语法:
alter table 表名 drop 列名;
示例
-- 删除student表中department列
alter table student drop department;
4、修改表名
语法格式
rename table 表名 to 新表名;
示例
-- 将表student改名为stu
rename table student to stu;
五、DML操作
插入-insert
删除-delete
修改-update
1、数据插入
语法格式:
-- 向表中插入某些
insert into 表名(列1,列2,列3...) values (值1,值2,值3...);
--向表中插入所有列
insert into 表名 values(值1,值2,值3...);
示例:
-- 插入某些值
insert into student (sid,name, gender, age,birth,address) values(1001,'男',18,'1996-12-23','北京');
-- 向表中插入所有列
insert into student values(1001,'男',18,'1996-12-23','北京');
2、数据修改update
语法格式
update 表名 set 字段名=值,字段名=值...;
update 表名 set 字段名=值,字段名=值...where 条件;
示例:
--将所有学生的地址修改为重庆
update stu set address = '重庆';
-- 将id为1004的学生的地址修改为北京
update stu set address = '北京' where id = 1004;
-- 将id为1005的学生的地址修改为广东,姓名修改为秀才
update stu set name='秀才',address='广东' where id=1005;
3、数据删除
语法格式
delete from 表名 【where 条件】;
truncate table 表名 或者 truncate 表名
示例:
-- 1、删除sid为1004的学生数据
delete from student where sid = 1004;
-- 2、删除表所有数据
delete from student;
-- 3、清空表数据
truncate table stu;
truncate student;
delete只删除内容,而truncate相当于drop table,可以理解为删除整个表,然后再新建。