一 认识数据库
数据:描述事物的符号记录称为数据,这些符号既可以是数字,也可以是文字,图片,声音,语言等。数据有多种表现形式,它们都可以经过数字化后存入计算机。
数据库(database 简称DB):存放数据的仓库,我们可以把它想象成文件夹,里面存了很多张表,每个表就是一个文件,不过数据库中的数据按一定的数据模型组织,描述和存储,具有较小的冗余度和较高的数据独立性和易扩展性,并可为各种用户共享。
数据库管理软件(database management system 简称DBMS): 如何科学的组织和存储数据,如何高效获取和维护数据成了关键,这就要用到一个系统软件---数据库管理系统
数据库管理系统分类:关系型数据库(RDBMS)包括Oracle,MySQL,SQL server,PostgreSQL,SQLite。非关系型数据库(NoSQL)包括Redis,MongoDB,Elasticsearch,Cassandra,HBase。
SQL和数据库管理系统的关系:SQL是一种用于操作数据库的语言,SQL适用于所有关系型数据库。MySQL,Oracle,SQLServer是数据库软件,这些数据库软件支持标准SQL,也就是可以用SQL使用这些软件,不过每一个数据库系统会在标准SQL的基础上扩展自己的SQL语法。大部分NoSQL数据库都有自己的操作语言,对SQL支持并不好。
二 MySQL简介
MySQL数据库管理系统由瑞典的DataKonsultAB公司研发,该公司被Sun公司收购,现在Sun公司又被Oracle公司收购,因此MySQL目前属于 Oracle 旗下产品。
MySQL特点:MySQL数据库使用C和C++语言编写的,保证源码的可移植性。它支持多个操作系统Windows,Linux,Mac OS等,支持多线程,可以充分调动CPU资源。为多种编程语言提供API,包括C语言,JAVA,PHP,Python等。MySQL优化了SQL算法,有效提高了查询速度。
SQL语法特点:SQL对关键字大小写不敏感,SQL语句可以单行或多行书写,以分号结束
三 MySQL数据库基本操作--DDL
DDL(data definition language) : 数据定义语言,该语言包括对数据库的常用操作,对表结构的常用操作,修改表结构。
1.对数据库常用操作
查看所有的数据库
show databases;
创建数据库,数据库名叫mydb1
create database mydb1;
选择使用哪一个数据库
use mydb1;
删除数据库
drop database mydb1;
2.对表结构常用操作
创建表:在数据库mydb1中创建一张空表指定表的名字为student,每一列的名字依次为sid,name,gender,age,birth,address,score,并指定每一列合适的数据类型。
use mydb1;
create table if not exists student (
sid int,
name varchar(20),
gender varchar(20),
age int,
birth date,
address varchar(20),
score double
);
查看当前数据库所有表名称
show tables;
查看指定student表的创建语句
show create table student;
查看student的表结构
desc student;
删除student表
drop table student;
修改表添加列:为student表添加一个新字段为:系别dept 类型为varchar(20)
alter table student add dept varchar(20);
修改列名和类型:为student表的dept字段更换为department varchar(30)
alter table student change dept department varchar(30);
修改表删除列:删除student表中department这列
alter table student drop department;
修改表名:将表student表改名为stu
rename table student to stu;
四 MySQL数据库基本操作--DML
DML是指数据操作语言,英文全称是Data Manipulation Language,用来对数据库中表的数据记录进行更新。
数据插入
语法格式:insert into 表(列名1,列明2,列名3....) values (值1,值2,值3.....); // 向表中插入某些列 insert into 表 values (值1,值2,值3.....); // 向表中插入所有列
insert into student(sid,name,gender,age,birth,address,score)
values(1001,'Jack','男',18,'1998-12-23','北京',89);
insert into student values(1002,'Jakson','男',19,'1997-10-20','北京',99);
数据修改
语法格式:update 表名 set 字段名=值,字段名=值....; update 表名 set 字段名=值,字段名=值....where 条件
将所有学生地址改成重庆
update student set address = '重庆';
将id为1002的学生地址改为北京
update student set address = '北京' where sid = 1002;
将id为1003的学生地址改为北京,成绩改为100
update student set address = '北京',score = 100 where sid = 1003;
数据删除
语法格式:delete from 表名 where 条件; truncate table 表名 或者 truncate 表名
删除sid为1004的学生数据
delete from student where sid = 1004;
删除表所有数据
delete from student;
清空表数据
turncate table student;
turncate student;
delete和turncate原理不同,delete只删除内容,而turncate类似于drop table,可以理解为将整个表删除后再创建该表
更多推荐
SQL自学总结一 MySQL数据库基本操作
发布评论