MySQL数据库-02(SQL语言基础)
学习目标:
- 掌握 CREATE TABLE、DROP TABLE 语句;
- 掌握:增加 INSERT、查询 SELECT、删除 DELETE、修改 UPDATE 表语句。
数据库_02
- (一)SQL 语言中的注释
- (二)MySQL 常用数据类型
- (三)表、字段、记录
- (四)CREATE TABLE 创建表
- (五)INSERT 添加数据
- 一、添加一条记录
- 二、添加多条记录
- 格式一:写多条 insert 语句,语句之间用英文分号隔开
- 格式二:写一条 insert 语句,添加多条记录,数据之间用英文逗号隔开。
- 格式三:写一条 insert 语句,设置指定字段值。
- (六)SELECT 简单查询
- 一、查询所有字段
- 二、查询指定字段
- (七)UPDATE 修改数据
- (八)DELETE 删除表中的记录
- (九)TRUNCATE 删除表中的记录
- (十)DELETE 和 TRUNCATE 的区别
- (十一)DROP TABLE 删除表
(一)SQL 语言中的注释
一、单行注释
格式:--注释内容
select * -- 简单的查询语句
from students;
▲注意:-- 与注释文字之间用空格分离。
二、多行注释
格式:/*注释内容*/
/*
这是一个
多行注释
*/
▲在 navicat 中按 ctrl + /
快速注释选中的SQL代码
▲在 navicat 中按 ctrl + shift + /
选中 SQL代码取消注释
(二)MySQL 常用数据类型
- 整数 int:有符号范围(-2147483648, 2147483648),无符号范围(0, 4294967295),如:int unsigned,代表设置一个无符号的整数。
- 小整数 tinyint:有符号范围(-128, 127),无符号范围(0,255),如:tinyint unsigned,代表设置一个无符号的小整数。
- 小数 decimal:如 decimal(5,2) 表示共存5位数,小数占2位,不能超过2位;整数占3位,不能超过3位。
- 字符串 varchar:如 varchar(3) 表示最多存3个字符,一个中文或一个字母都占一个字符。
- 日期时间 datetime:范围(1000-01-01 00:00:00~9999-12-31 23:59:59),如’2025-01-01 22:06:59’
(三)表、字段、记录
一、表(table)
表(table),数据库中存储数据的基本单位,表是一个由行和列组成的二维表格结构。
二、字段(field)
表中的列,在数据库中,叫做字段(field)。
三、记录(record)
表中的一行,在数据库中,叫做记录(record)。
(四)CREATE TABLE 创建表
create table 表名(字段名 数据类型;字段名 数据类型...
);
例1:
创建表 a。
字段要求:name(姓名)。
数据类型:varchar(字符串),长度为10。
create table a(name varchar(10)
);
例2:
创建表b。
字段要求:
name(姓名),数据类型为 varchar(字符串),长度为10;
height(身高),数据类型为 decimal(小数),一共5位,其中3位整数,2位小数。
create table b(name varchar(10),height decimal(5,2)
);
例3:
创建表c。
字段要求如下:
id:数据类型为 int(整数);
name:数据类型为 varchar(字符串),长度为20;
age:数据类型为 tinyint unsigned(无符号小整数)。
CREATE TABLE c(id int,name varchar(20),age tinyint unsigned
);
(五)INSERT 添加数据
SQL语句中,字符串用单引号’ ’ 或双引号 " "引起来,数字可以省略引号。
一、添加一条记录
格式一:所有字段设置值,值的顺序与表中字段的顺序对应。
insert into 表名 values (...);
例1:表 c 插入一条记录,设置所有字段的信息。
insert into c values (0,'亚瑟',22);
格式二:部分字段设置值,值的顺序与给出的字段顺序对应。
insert into 表名 (字段1,...) values (值1,...)
例2:表 c 插入一条记录,只设置 id 和姓名 name。
insert into c (id,name) values (1,'老夫子')
二、添加多条记录
格式一:写多条 insert 语句,语句之间用英文分号隔开
例3:表 c 插入三条记录,写三条 insert 语句,语句之间用分号隔开。
insert into c (id,name,age) values (2,'安琪拉',18);
insert into c (id,name,age) values (3,'甄姬',18);
insert into c values (4,'王昭君',18);
格式二:写一条 insert 语句,添加多条记录,数据之间用英文逗号隔开。
insert into 表名 values (...),(...)...;
例4:表 c 插入多条记录,用一条 insert 语句,数据之间用逗号隔开。
insert into c values (5,'云缨',20),(6,'艾琳',20),(7,'夏洛特',20);
格式三:写一条 insert 语句,设置指定字段值。
insert into 表名 (字段1,...) values (值1,...),(值1,...)...;
例5:表 c 插入多条记录,用一条 insert 语句,只设置姓名和年龄。
insert into c (name,age) values ('孙尚香',21),('李元芳',16);
(六)SELECT 简单查询
一、查询所有字段
select * from 表名;
例1:查询表 c 所有数据
select * from c;
二、查询指定字段
select 字段1,字段2,... from 表名;
(七)UPDATE 修改数据
update 表名 set 字段1=值1, 字段2=值2... where 条件;
例1:修改表c,将所有人的年龄(age字段)改为50。
update c set age=50;
例2:修改表c,id 为2的记录,姓名(name字段)改为 ‘狄仁杰’,年龄(age字段)改为20。
UPDATE c set name='狄仁杰',age=20 where id=2;
通过“运行已选择的”查询表c:
(八)DELETE 删除表中的记录
delete from 表名 where 条件;
例1:删除表 c 中 id 为 6 的记录
delete from c where id=6;
例2:删除表 c 的所有记录
delete from c;
(九)TRUNCATE 删除表中的记录
删除表的所有数据,保留表结构
truncate table 表名;
例:删除表 c 的所有数据
truncate table c;
(先给表 c 插入这三条记录)
(十)DELETE 和 TRUNCATE 的区别
- 在速度上,truncate > delete。
- 如果想删除部分数据用 delete,注意带上 where 子句。
- 如果想保留表而将所有数据删除,自增长字段恢复从1开始,用 truncate。
(十一)DROP TABLE 删除表
语法1:
drop table 表名;
例1:删除表 a
drop table a;
语法2:
如果表a存在,就删除表a,如果不存在,什么也不做。
drop table if exists 表名;
例2:删除表a
drop table if exists a;