大家好,我是一名入门的菜鸟,如果你不经意间翻开了我的文章,谢谢您,您的支持是我前进的动力,让我们一起加油!!
由于不是名牌大学,只是一个普普通通的专科生,所以,我想通过自己的努力来获得我想要的,我不会放弃我的梦想,我也曾幻想着我成功的时候在朋友边吹嘘,也曾想象到我失败时候潦倒的样子,幻想始终是幻想,我会努力的,加油,你一定能行
什么是SQL?
SQL:Structured Query Language 结构化查询语言,是一种在各个关系型数据库都通用的一种语言,不同的关系型数据库,有不同的语法结构(SQL语句不一样)
SQL 语句分为四大类
- Data Definition Language
DDL:数据定义语言,主要用于数据库和表的创建和管理 - Data Manipulation Language
DML:数据曹总语言,主要用于操作表的增删改操作 - Data Query Language
DQL:数据查询语言,主要用于表的查询 - Data Control Language
DCL:数据控制语言,主要用于用户权限的管理
DDL操作
-
创建数据库
create database 库名;
-
查看有哪些数据库
show databases;
DDL语句操作 | 关键字 |
---|---|
创建 | create |
修改 | alter |
查看 | show |
删除 | drop |
MySQL数据类型
常使用的数据类型如下
数据类型 | 关键字 |
---|---|
整型 | int或integer |
浮点型 | double, float decimal(5,2) 整个小数长5位,小数位占2位 |
字符串型 | char定长:char(2) 最长存储2个字符,无论有没有使用2个,都是占用2个。 varchar可变长:如:varchar(100),最长可以保存100个字符 如果只使用了3个,占3个字符的空间。 |
日期类型 | date或time,datetime |
建表语句
/*
创建表的语法:
create table 表名(
字段名 字段类型 约束,
字段名 字段类型 约束
)
*/
-- 创建数据库
create database day18;
-- 创建student表包含id整数,name变长字符串长20,sex性别定长型1,birthday字段日期类型
create table student(
id int, -- 编号
name varchar(20), -- 姓名
sex char(1), -- 性别
birthday date -- 生日
);
小结
- 建表语句的关键字:create table 表名 (字段名 数据类型 )
- 常用的数据类型:
- int 整数
- double 双精度
- date 日期
- varchar(长度) 可变长字符串
DDL:查看表结构
-- 查看某个数据库中的所有表
show tables;
use mysql;
show tables;
-- 查看表结构,表结构创建好,表中没有任何数据,这是一个空表
use day18;
desc student;
-- 查看创建表的SQL语句,看到的是mysql生成的语句,并不是我们写的,功能是一样的。
show create table student;
-- 创建s1表,s1表结构和student表结构相同。复制表结构,没有其中记录
-- 语法:create table 新表 like 旧表
create table s1 like student;
-- 查看s1表的结构
desc s1;
小结
- 查看表结构:desc 表名
- 查看创建表的SQL语句: show create table 表名;
DDL:删除表
直接删除表
-- 无论表是否存在,都执行,有可能会报错。
drop table 表名
判断表是否存在再删除表
-- 删除前进行判断,如果表存在才删除,运行不会报错
drop table if exists 表名;
操作
-- 直接删除表s1表
drop table s1;
-- 刷新后才能看到效果
-- 错误代码: 1051 Unknown table 's1'
-- 判断表是否存在并删除s1表
drop table if exists s1;
小结
删除表的代码:
- drop table 表名
- drop table if exists 表名
DDL:修改表结构
注意:修改都是以alter table开头
添加表列ADD
alter table 表名 add 字段名 数据类型
修改列类型MODIFY
-- 只修改列的数据类型,不修改列名
alter table 表名 modify 字段名 数据类型
修改列名和类型 CHANGE
-- 使用新的字段名和新的类型
alter table 表名 change 旧字段名 新的字段名 数据类型
删除列 DROP
alter table 表名 drop 字段名
修改表名
注:MySQL中没有直接修改库名的语句
rename table 旧的表名 to 新的表名
小结
说说下面修改表结构分别使用什么关键字?
alter table 表名
- 添加一列:add
- 修改类型:modify
- 修改字段名和类型:change
- 删除一列:drop
DML
由于DML语法会在后面会详细的在介绍,想着先总结一下语句格式
功能 | 语句 |
---|---|
添加记录 | insert into 表名 (列名) values (值) |
更新记录 | update 表名 set 列名=值 where 条件 |
删除记录 | delete from 表名 where 条件 |