前言
工作很久了,但是MySQL的语句还没有写全,尤其是写了很多的复杂的SQL语句后,一些简单的SQL语句都记不住了,所以打算记录一下一些简单的和以后在工作中遇到的值得记录的SQL语句。
SQL索引跳转:MySQL索引
创建表
创建一个学生表(SQL的单词大小写都可)
- 学生id为主键自增长
- 姓名、手机号和创建时间不为空
- 创建的表默认引擎为InnoDB,编码为utf8格式
CREATE TABLE `student`(
`student_id` INT PRIMARY KEY AUTO_INCREMENT COMMENT '学生id',
`name` VARCHAR(10) NOT NULL COMMENT '学生姓名',
`sex` VARCHAR(1) COMMENT '性别',
`age` INT COMMENT '年龄',
`phone` VARCHAR(11) NOT NULL COMMENT '手机号',
`birthday` DATETIME COMMENT '生日',
`create_time` DATETIME NOT NULL COMMENT '创建时间',
`update_time` DATETIME COMMENT '修改时间'
)ENGINE=InnoDB CHARACTER SET=utf8;
属性说明
- PRIMARY KEY:将该字段设为主键
- AUTO_INCREMENT:定义该列自增长,一般用于主键,数值自动加1
- COMMENT:给该字段进行备注
- NOT NULL:设置该字段不为空(不管是用SQL的insert语句还是mybatis添加,都不可为空,否则SQL抛异常)
- ENGINE:设置该表的默认搜索引擎
- CHARACTER SET = :设置该表的编码格式
SQL查询语句
查询语句格式:SELECT * FROM table_name [WHERE clause]
查询所有
select * from student;
根据条件查询
select * from student where student_id = 1;
根据多个条件查询
select * from student where student_id = 1 and age = 21;
SQL添加语句
添加语句格式:INSERT INTO table_name VLAUE()
说明:添加语句最后面的VALUE不加S只添加一天,加上S可以在括号后面加上逗号继续添加
添加语句一
指定字段添加,表后面为添加的字段,value中只添加响应的数据即可
insert into student(student_id,`name`,age,phone,sex,birthday,stu_number,create_time)
VALUE(null,'学生1',20,'17612345678','女',NOW(),'001',NOW());
添加完成后效果
添加语句二
不指定字段添加,添加所有的数据
insert into student
VALUE(null,'学生2',20,'17612345678','女',NOW(),'001',NOW(),NOW());
添加完成后效果图
添加语句三
添加多条数据,不指定字段(指定字段也是一样,只添加对应数据即可)
insert into student
VALUES
(null,'学生3',20,'17612345678','女',NOW(),'001',NOW(),NOW()),
(null,'学生4',20,'17612345678','女',NOW(),'001',NOW(),NOW()),
(null,'学生5',20,'17612345678','女',NOW(),'001',NOW(),NOW());
添加完成后效果图
SQL修改语句
修改语句格式:UPDATE table_name SET id = 1 [WHERE clause]
根据id修改
update student
set
sex = '男',
age = 21,
update_time = NOW()
where student_id = 1;
属性说明
- where:条件语句(后面跟条件,比如根据id查询,根据id修改等)
修改完成后效果图
SQL删除语句
根据条件删除
删除id为1的学生
delete from student where student_id = 1;
删除完成后效果图
清空表数据
delete from student;
删除完成后效果图
删除表
数据表直接被删除
drop table student;
delete和drop的区别:
- delete用来删除数据表内的数据。
- drop用来删除数据表。
总结
SQL语句还有很多,该文章不定时更新复杂语句