一 认识数据库

数据:描述事物的符号记录称为数据,这些符号既可以是数字,也可以是文字,图片,声音,语言等。数据有多种表现形式,它们都可以经过数字化后存入计算机。

数据库(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数据库基本操作