-
SQL(结构化查询语言) - 所有关系型数据库通用的语言
-
DDL(数据定义语言) - create、drop、alter
-
DML(数据操作语言) - insert、delete、updata
-
DQL(数据查询语言) - select
-
DCL(数据控制语言) - grant、revoke
注意:SQL不区分大小写
create = CREATE = CrEaTe
MySQL 常用数据类型:
数字类型:int(整型)、decimal(小数)
字符串类型:char(N) 定长字符串,N表示长度、varchar(N) 不定长字符串,N表示最大长度
布尔:boolean、tinyint
时间:data、datatime、timestamp
常用的约束:
不为空:not null
设置默认值:default默认值
唯一的:unique
自动增长:auto_increment
一、 DDL
1. 创建数据库
格式:create databases 数据库名称 default charset utf8mb4;
create databases if not exists `school` default charset utf8mb4;
2. 删除数据库(灵魂拷问)
drop databases 数据库名称;
drop databases `school`;
3. 使用数据库
ues `school`;
4. 创建表
create table 表名(字段名1 字段类型1 约束1 comment 说明1 字段名2 字段类型2 约束2 comment 说明2,…);
注意:
- sql中字符串数据用单引号
- 创建表的时候必须添加主键约束,主键是能够表示表中唯一一条记录的字段
create table if not exists `school`.`t_student`(
`stu_id` int unsigned not null comment '学生的学号',
`stu_name` varchar(4) not null comment '学生姓名',
`stu_sex` boolean default(1) comment '性别',
`stu_birth` date comment '生日',
primary key (`stu_id`)
)engine=INnoaDB;
5. 删除表(灵魂拷问)
drop table if exists `t_student`;
6. 修改表
添加字段、删除字段、修改字段名称和类型
1)删除字段
alter table `t_student` drop `stu_birth`;
2)添加字段
alter table `t_student` add `stu_addr` varchar(50) comment '地址';
3)修改字段
alter table 表名 change 原字段名 新字段名 新字段类型 新的约束 comment ‘说明’;
注意:新的字段名和新的类型必须写
alter table `t_student` change `stu_sex` `stu_gender`char(1) default '男' comment '性别';
alter table `school`.`t_student` change `stu_name` `name` varchar(4);
二、DML
1. 插入数据
use `school`;
insert into `t_student` values(101, 'bobo', '男', '河南洛阳');
insert into `t_student` values(102, 'bana', '女', '河南洛阳');
insert into `t_student`(`stu_id`, `stu_addr`, `name`) values(103, 'yibo', '河南洛阳');
insert into `t_student`(`stu_addr`, `name`, `stu_id`) values('北京朝阳', '甜甜', '104' );
insert into `t_student`(`stu_id`, `name`, `stu_addr`) values
(105, 'yibo', '男', '湖南长沙'),
(106, '鸣人', '男', '木叶村'),
(107, '樱木花道', '男', '神奈川湘北'),
(108, '樱桃子', '女', '静冈');
2. 删除数据
sql 的条件语句:
where 字段=值
where 字段>值/字段<值/字段>=值/字段<=值
where 字段 in(值1, 值2, 值3, …)
delete from `t_student` where `stu_id`=101;
delete from `t_student` where `stu_id`>106;
delete from `t_student` where `stu_id`in (102, 104, 107);
delete from `t_student` where `stu_id` between 105 and 108;
3. 修改数据
update `t_student` set `name`='旋涡鸣人' where `stu_id`=106;
update `t_student` set `name`='甜酱', `stu_gender`='女' where `stu_id`=