sql基础语法
– SQL(结构化查询语言) - 所有关系型数据库通用的语言
– DDL(数据定义语言) - create、drop、alter
– DML(数据操作语言) - insert、delete、update
– DQL(数据查询语言) - select
– DCL(数据控制语言) - grant、revoke
– 注意:SQL中不区分大小写;一条SQL语句结束必须加分号
– create = CREATE = CrEaTe
- DDL
– 1)创建数据库: create database if not exists 数据库名称 default charset utf8mb4;
create database if not exists school default charset utf8mb4;
– 2)删除数据库(灵魂拷问):drop database if exists 数据库名称;
drop database if exists school;
– 3)使用数据库:use 数据库;
– 在做表的操作前先需要通过use来确定数据库
use school;
– 4)创建表:create table 表名(字段名1 字段类型1 约束1 comment 说明1, 字段名2 字段类型2 约束2 comment 说明2,…);
– 注意:sql中字符串数据用单引号
– 创建表的时候必须添加主键约束,主键是能够表示表中唯一一条记录的字段
create table if not exists school.t_student2
(
stu_id int unsigned not null comment ‘学生的学号’,
stu_name varchar(4) not null comment ‘姓名’,
stu_gender boolean default 1 comment ‘性别’,
stu_birth date comment ‘生日’,
primary key (stu_id)
)engine=INNODB;
– 5)删除表(灵魂拷问)
drop table if exists t_student;
– 6)修改表 - 添加字段、删除字段、修改字段名称和类型
– a.删除字段
alter table t_student drop stu_birth;
– b.添加字段
alter table t_student add stu_addr varchar(50) comment ‘地址’;
– c.修改字段:alter table 表名 change 原字段名 新字段名 新字段类型 新的约束 comment ‘说明’;
– 注意:新的字段名和新类型必须写
alter table school.t_student change stu_gender stu_sex CHAR(1) default ‘男’ COMMENT ‘性别’;
alter table school.t_student change stu_name name varchar(4);
– MySQL常用数据类型:
– 数字:int、decimal
– 字符串类型:char(N)、varchar(N)
– 布尔:boolean、tinyint
– 时间:date、datetime、timestamp
– 字段常用约束:
– 不为空:not null
– 设置默认值:default 默认值
– 唯一的:unique
– 自动增长:auto_increment
– 2. DML
– 1)插入数据:
use school;
insert into t_student values(101, ‘余婷’, ‘女’, ‘重庆开县’);
insert into t_student values(102, ‘小明’, ‘男’, ‘四川成都’);
insert into t_student(stu_id, name, stu_addr) values(103, ‘张三’, ‘四川成都’);
insert into t_student(name, stu_addr, stu_id) values(‘李四’, ‘北京朝阳区’, 104));
insert into school.t_student(stu_id, name, stu_sex, stu_addr) values
(106, ‘路飞’, ‘男’, ‘四川德阳’),
(105, ‘娜美’, ‘女’, ‘广东深圳’),
(110, ‘山治’, ‘男’, ‘辽宁大连’),
(107, ‘乌索普’, ‘男’, ‘内蒙’);
– 2)删除数据
– sql的条件语句:
– where 字段=值
– where 字段>值/字段<值/字段>=值/字段<=值
– where 字段 in (值1, 值2, 值3,…)
– where 字段 between 值1 and 值2
delete from school.t_student where stu_id=101; – 删除学号是101的记录
delete from school.t_student where stu_id>105; – 删除学号大于105的所有记录
delete from school.t_student where stu_id in (102, 105, 107); – 删除学号是102、105和107的记录
delete from school.t_student where stu_id between 106 and 109; – 删除学号在106到109之间的所有记录
delete from school.t_student where name=‘张三丰’;
– 3)修改数据
update school.t_student set name=‘张三丰’ where stu_id=102;
update school.t_student set name=‘小花’, stu_sex=‘女’ where stu_id=103;
– 3. DQL
– 查询整个表中所有的数据:select * from 表名;
– 查询指定列所有的数据:select 字段1,字段2,… from 表名;
– 查询满足条件的所有列的数据:select * from 表名 where 条件;
– 查询满足条件的指定列的数据:select 字段1,字段2,… from 表名 where 条件;
select * from school.t_student; – 查整个表中所有的记录
select name from school.t_student;
select name, stu_addr from school.t_student;
select * from school.t_student where stu_id<105;
select stu_id,name from school.t_student where stu_id<105
作业
– 创建数据库school
– 创建学生表(stu_id,stu_name)、老师表(teach_id,teach_name)、学院表(yard_id,yard_name)、课程表(course_id,course_name) (每张表的字段不低于4个)
– 给每张表插入数据学生表-至少15条数据、老师表、学院表、课程表-至少5个
CREATE database school1 default charset utf8mb4;
CREATE table school1.t_stu(
stu_id int not null comment ‘学生号’,
stu_name varchar(4) not null COMMENT ‘学生名字’,
primary key(stu_id)
)engine = INNODB;
CREATE TABLE school1.t_teach(
teach_id int not null COMMENT ‘老师号’,
teach_name varchar(4) not null COMMENT ‘老师名字’,
primary key(teach_id)
)engine = INNODB;
CREATE TABLE school1.t_yard(
yard_id int not null COMMENT ‘学院号’,
yard_name varchar(16) not null COMMENT ‘学院名’,
primary key(yard_id)
)engine=INNODB;
CREATE TABLE school1.t_course(
course_id int not null COMMENT ‘课程号’,
course_name varchar(10) not null COMMENT ‘课程名’,
primary key(course_id)
)engine=INNODB;
insert into school1.t_stu(stu_id,stu_name) values
(1,‘溜1’),
(2,‘溜2’),
(3,‘溜3’),
(4,‘溜4’),
(5,‘溜5’),
(6,‘溜6’),
(7,‘溜7’),
(8,‘溜8’),
(9,‘溜9’),
(10,‘溜10’),
(11,‘溜11’),
(12,‘溜12’),
(13,‘溜13’),
(14,‘溜14’),
(15,‘溜15’);
insert into school1.t_teach(teach_id,teach_name) values
(1,‘余1’),
(2,‘余2’),
(3,‘余3’),
(4,‘余4’),
(5,‘余5’);
insert into school1.t_yard(yard_id,yard_name) values
(1,‘通信学院’),
(2,‘计算机学院’),
(3,‘体育学院’),
(4,‘艺术学院’),
(5,‘理学院’);
insert into school1.t_course(course_id,course_name) VALUES
(1,‘数学’),
(2,‘语文’),
(3,‘英语’),
(4,‘物理’),
(5,‘化学’);
本文介绍了SQL的基础语法,包括DDL(数据定义语言)、DML(数据操作语言)、DQL(数据查询语言)和DCL(数据控制语言)。详细讲解了如何创建、删除和修改数据库及表,以及如何插入、删除和更新数据。还提供了查询数据的示例,并展示了如何在MySQL中创建学生、老师、学院和课程表,并插入相应数据。
9452

被折叠的 条评论
为什么被折叠?



