学习笔记12
一、MySQL
一、SQL简述
1.SQL的概述
Structure Query Language(结构化查询语言)简称SQL,它被美国国家标准局(ANSI)确定为关系型数据库语言的美国标准,后被国际化标准组织(ISO)采纳为关系数据库语言的国际标准。数据库管理系统可以通过SQL管理数据库;定义和操作数据,维护数据的完整性和安全性。
2.SQL的优点
1、简单易学,具有很强的操作性
2、绝大多数重要的数据库管理系统均支持SQL
3、高度非过程化;用SQL操作数据库时大部分的工作由DBMS自动完成
3.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 数据库名称;
创建一个叫db1的数据库MySQL命令:
-- 创建一个叫db1的数据库
show create database db1;
创建数据库后查看该数据库基本信息MySQL命令:
show create database db1;
运行效果展示:
删除数据库MySQL命令:
drop database db1;
查询出MySQL中所有的数据库MySQL命令:
show databases;
将数据库的字符集修改为gbk MySQL命令:
alter database db1 character set gbk;
切换数据库 MySQL命令:
use db1;
查看当前使用的数据库 MySQL命令:
select database();
将数据库的字符集修改为gbk MySQL命令:
alter database db1 character set gbk;
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命令:
show create table student;
示例:查看表的字段信息 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通过INSERT语句向数据表中插入数据。在此,我们先准备一张学生表,代码如下:
create table student(
id int,
name varchar(30),
age int,
gender varchar(30)
);
- 为表中所有字段插入数据
每个字段与其值是严格一一对应的。也就是说:每个值、值的顺序、值的类型必须与对应的字段相匹配。但是,各字段也无须与其在表中定义的顺序一致,它们只要与 VALUES中值的顺序一致即可。
语法如下:
INSERT INTO 表名(字段名1,字段名2,...) VALUES (值 1,值 2,...);
示例:向学生表中插入一条学生信息 MySQL命令:
insert into student (id,name,age,gender) values (1,'bob',16,'male');