数据库的基本概念
1、数据(Data): 描述事物的符号记录,包括数字,文字,图形,图像,声音,档案记录等, 以“记录”形式按统一的格式进行存储
2、表: 将不同的记录组织在一起;用来存储具体数据
3、数据库:表的集合,是存储数据的仓库; 以一定的组织方式存储的相互有关的数据集合
4、数据库管理系统(DBMS):数据库管理系统(Database Management System,简称DBMS)是为管理数据库而设计的电脑软件系统,一般具有存储、截取、安全保障、备份等基础功能;是实现对数据库资源有效组织、管理和存取的系统软件
SQL 是用于访问和处理数据库的标准的计算机语言。
SQL 的类型:
1、DDL(Data Definition Language) 数据定义语言,用来操作数据库、表、列等; 常用语句:CREATE、 ALTER、DROP
2、DML(Data Manipulation Language) 数据操作语言,用来操作数据库中表里的数据;常用语句:INSERT、 UPDATE、 DELETE
3、DCL(Data Control Language) 数据控制语言,用来操作访问权限和安全级别; 常用语句:GRANT、DENY
4、DQL(Data Query Language) 数据查询语言,用来查询数据 常用语句:SELECT
1.数据库的基本操作
MySQL安装完成后,要想将数据存储到数据库的表中,首先要创建一个数据库。创 建数据库就是在数据库系统中划分一块空间存储数据,语法如下:
create database 数据库名称;
创建一个叫db的数据库MySQL命令:
创建数据库后查看该数据库基本信息MySQL命令:
show create database db;
删除数据库MySQL命令:
drop database db;
查询出MySQL中所有的数据库MySQL命令:
show databases;
切换到数据库db命令:
use db;
查看当前使用的数据库 MySQL命令:
select database();
2.数据表的基本操作
数据库创建成功后可在该数据库中创建数据表(简称为表)存储数据。请注意:在操作数据表之前应使用“USE 数据库名;”指定操作是在哪个数据库中进行先关操作,否则会抛出“No database selected”错误。
语法如下:
create table 表名(
字段1 字段类型,
字段2 字段类型,
…
字段n 字段类型
);
2.1 创建数据表
例如:创建学生表 MySQL命令:
create table student
(
id int,
name varchar(20),
gender varchar(10),
birthday date
);
2.2 查看数据表
例如:查看当前数据库中所有表 MySQL命令:
show tables;
查看表的字段信息 MySQL命令:
desc student;
2.3 修改数据表
有时,希望对表中的某些信息进行修改,例如:修改表名、修改字段名、修改字段、数据类型…等等。在MySQL中使用alter table修改数据表.
例如:修改表名 MySQL命令:
alter table student rename to stu;
例如:修改字段名 MySQL命令:
alter table stu change name sname varchar(10);
例如:修改字段数据类型 MySQL命令:
alter table stu modify sname int;
例如:增加字段 MySQL命令:
alter table stu add address varchar(50);
例如:删除字段 MySQL命令:
alter table stu drop address;
做完上述操作后查看一下表的修改情况:
2.4 删除数据表
语法:drop table 表名;
例:删除数据表 MySQL命令:
drop table stu;
3.数据表插入数据
在MySQL通过INSERT语句向数据表中插入数据。在此,我们先准备一张表,代码如下:
create table student(
id int,
name varchar(30),
age int,
gender varchar(30)
);
3.1 为表中所有字段插入数据
每个字段与其值是严格一一对应的。也就是说:每个值、值的顺序、值的类型必须与对应的字段相匹配。但是,各字段也无须与其在表中定义的顺序一致,它们只要与 VALUES中值的顺序一致即可。
语法如下:
INSERT INTO 表名(字段名1,字段名2,...) VALUES (值 1,值 2,...);
例:向学生表中插入一条学生信息 MySQL命令:
insert into student (id,name,age,gender) values (1,'bob',16,'male');
3.2 为表中指定字段插入数据
INSERT INTO 表名(字段名1,字段名2,...) VALUES (值 1,值 2,...);
例如:
3.3 同时插入多条记录
INSERT INTO 表名 [(字段名1,字段名2,...)]VALUES (值 1,值 2,…),(值 1,值 2,…),...;
例:向学生表中插入多条学生信息 MySQL命令
Insert into student (id,name,age,gender) values (3,'lucy',17,'female'),(4,'jack',19,'male'),(5,'tom',18,'male');
4.更新数据
在MySQL通过UPDATE语句更新数据表中的数据。
4.1 UPDATE基本语法
UPDATE 表名 SET 字段名1=值1[,字段名2 =值2,…] [WHERE 条件表达式];
在该语法中:字段名1、字段名2…用于指定要更新的字段名称;值1、值 2…用于表示字段的新数据;WHERE 条件表达式 是可选的,它用于指定更新数据需要满足的条件
4.2 UPDATE更新部分数据
例:将name为tom的记录的age设置为20并将其gender设置为female MySQL命令
update student set age=20,gender='female' where name='tom';
4.3. UPDATE更新全部数据
例:将所有记录的age设置为18 MySQL命令:
update student set age=18;
5.删除数据
在MySQL通过DELETE语句删除数据表中的数据。
5.1. DELETE基本语法
在该语法中:表名用于指定要执行删除操作的表;[WHERE 条件表达式]为可选参数用于指定删除的条件。
DELETE FROM 表名 [WHERE 条件表达式];
5.2. DELETE删除部分数据
例:删除age等于14的所有记录 MySQL命令:
delete from student where age=14;
#前面age都改成18了,后来单独把id为2的那个年龄改为14,以便练习delete命令
5.3. DELETE删除全部数据
例:删除student表中的所有记录 MySQL命令:.
delete from student;
5.4. TRUNCATE和DETELE的区别
TRUNCATE和DETELE都能实现删除表中的所有数据的功能,但两者也是有区别的:
1、DELETE语句后可跟WHERE子句,可通过指定WHERE子句中的条件表达式只删除满足条件的部分记录;但是,TRUNCATE语句只能用于删除表中的所有记录。
2、使用TRUNCATE语句删除表中的数据后,再次向表中添加记录时自动增加字段的默认初始值重新由1开始;使用DELETE语句删除表中所有记录后,再次向表中添加记录时自动增加字段的值为删除时该字段的最大值加1
3、DELETE语句是DML语句,TRUNCATE语句通常被认为是DDL语句
6.MySQL数据表简单查询
6.1查询表的所有字段
查询表的所有字段 MySQL命令:
select * from student;
6.2查询指定字段
select id,name from student;
6.3从查询结果中过滤重复数据
在使用DISTINCT 时需要注意:
在SELECT查询语句中DISTINCT关键字只能用在第一个所查列名之前。
select distinct gender from student;
7.数据排序ORDER BY
ORDER BY 语句用于根据指定的列对结果集进行排序,默认按照升序对记录进行排序,如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。
SELECT * FROM 表名称 ORDER BY 列1,列2 DESC;
例如:
SELECT * FROM student ORDER BY id;