前言:不管是前端工程还是后端工程都需要会SQL,因此我找出来我学习SQL的笔记更新了这篇文章。本篇文章是SQL笔记上篇,介绍了数据库相关SQL语句(建库、删库、改库的相关操作)、表相关SQL语句(建表、删表、修改表相关操作)、数据相关SQL语句(增删改查) 三个模块的常用SQL语句。
1、 查看数据库列表
show databases;
2、 查看某个数据库详情
格式:show create database 数据库名;
show create database sys;
3、 创建数据库
格式:create database 数据库名;
create database test_db;
4、 创建指定字符集的数据库
格式:create database 数据库名 character set 字符集
create database test_db2 character set utf8;
tip:除了utf8还有其他字符集。例如在中国常用的gbk。
5、 使用指定数据库
格式:use 数据库名;
use test_db2;
6、删除指定数据库
格式:drop database 数据库名;
drop database test_db;
Tip:执行SQL语句成功时,会返回Query OK
这类字样,失败也会返回ERROR
这类字样。学习一定要活学活用,例如此次我们删除了test_db
这个数据库,你可以用前面学的show databases;
查看是否删除成功等。记住要活学活用!!!
1、建表相关
1.1 创建表
格式:create table student (字段1 字段1类型,字段2 字段2类型,....,字段n 字段n类型);
create table student (stuNO int, name varchar(50),age int, addrees varchar(255));
Tip:常用数据类型有很多,每种数据库或多或少有点不同。关于数据类型本文不做重点介绍,有需要可以给我留言。
1.2 查看表列表
show tables;
1.3 查看表详情
即查看表的具体信息,如字段类型、表引擎、字符集等等。
格式:show create table 表名;
show create table student;
Tip:表引擎 有如下两种 :
1.4 创建表时指定殷勤和字符集
格式: create table teacher(字段1 字段1类型,....,字段n 字段n类型) engine=myisam/innodb charset=gbk/utf8;
create table teacher(t_NO int, name varchar(50),age int,addrees varchar(255)) engine=innodb charset=utf8;
1.5 查看表字段
返回表的字段具体属性,包括字段名、字段类型、是否为空、key、默认值、备注。
格式:desc 表名;
desc student;
1.6 删除表
格式: drop table 表名;
drop table teacher;
2、修改表相关
2.1 修改表名
格式:rename table 原表名 to 新表名;
rename table student to students;
2.2 修改表的引擎和字符集
格式:alter table 表名 engine=myisam/innodb charset=bgk/utf8;
alter table students engine=innodb charset=utf8;
2.3 添加表字段
格式一:在最后面添加alter table 表名 add 字段名 字段类型;
alter table students add results float;
格式二:在前面添加alter table 表名 add 字段名 字段类型 first;
alter table students add hobby varchar(255) first;
格式三:在xxx后面添加alter table 表名 add 字段名 字段类型 after xxx;
alter table students add height float after stuNO;
Tip:用前面提到的查看表详情show create table students;
可以验证你添加的字段是否在你预期的位置。
2.4 删除表字段
格式:alter table 表名 drop 字段名;
alter table students drop hobby;
Tip:验证依然可以用上面同样的方法,后面也是同样的道理,不再做阐述。记得学习要活学活用。
2.5 修改表字段的名字和类型
格式:alter table 表名change 原字段名 新字段名 新字段类型;
alter table students change height hei int;
2.6 修改表字段的类型和位置
格式一:在xxx后面插入alter table 表名 modify 字段名 类型 after xxx;
alter table students modify results int after stuNO;
格式二:在最前面alter table 表名 modify 字段名 类型 first;
alter table students modify results int first;
1、插入数据
格式:insert into 表名 values (值1, 值2, ...., 值n);
注意
:这种插入方法插入的值必须与表字段的顺序一一对应,并且需要填写完整的数据,如下,我们表中原本的字段顺序是成绩、学号、身高、名字、地址,那我们插入的顺序也要也其他对应上,并且有多少个字段就要写多少个值。
insert into students values (100,202010001,182,'Tom',22,'nanning');
Tip:用 select * from students;
验证,这句sql是查看标准所以数据,后面会有关于查询数据的详细介绍。这里先知道这样用就得,下面关于天机数据的都可以用这样来查询验证。
2、指定字段插入数据
即,只插入某些字段数据,而不用全部填写完一条完整的数据。
格式:insert into students(字段名1, 字段名2, ...., 字段名n) values(值1, 值2, ..., 值n);
insert into students(name) values('汤姆');
3、批量插入数据
格式: insert into 表名 values (字段1值,字段2值,…,字段n值), (…),(n字段1值,n字段2值,…,n字段n值);
insert into students values(202010002,'张三',23),(202010003,'李四',21);
**Tip:**为了方便演示批量插入操作,我删除了results、hei、addrees这三个字段。没有指定插入指定的都要想1那样一一对应并且添加完整的一条或若干条数据
4、查询某表的全部数据
格式:select * from 表名;
select * from students;
Tip:*
的位置写要查询的字段,而 *
号代表全部字段
5、查看指定字段的全部数据
格式: select 字段1,..,字段n from 表名;
例如,查询students表中全部的学生名字
select name from students;
6、where关键字的使用
我们查询数据经常是有条件,例如我们要查询name为 张三 的学生的全部信息。
select * from students where name='张三';
分析:
where是条件查询的关键字。
首先我们读题目,题目要求查name为张三的全部信息,
其中name为张三是本题的条件,全部信息是我们要查的字段。
所以 where的条件是name = ‘张三’,要查询所有信息所以用 * 号代表。
练习1 : 查询年龄小于22的学生的名字和年龄。
7、修改数据
格式: update 表名 set 要修改字段名=新值 where 条件;
例如,把name为Tom的学生的名字修改为王五
update students set name = '王五' where name = 'Tom';
练习2:把学号为202010002的学生年龄改为18。
8、删除数据
格式: delete from 表名 where 条件';
例如,删除名字
delete from students where name='张三';
练习3:删除id为202010002的学生信息。
SQL笔记上到这里就结束了,但是我相信很多人看了都很难记住,所以总结一下方便大家记忆。
drop
,如删除表和数据库;删除数据则用delete
alter
,如修改表引擎和字符集、添加字段、修改字段的名字类型位置等。除修改表名。修改表数据则用update
show
关键字后面table
、databse
都要加s
,from
后面则不用,初学者很容易搞混。你以为SQL到这里就学完了?其实你才刚入门,数据库最关键的还是查询,查询有子查询、左/右查询、内查询、 外查询等等,而且实际的工作过程中用的也是非常频繁,尤其是搞后端。所以SQL下篇则是进阶篇,介绍查询相关操作,以及数据库的约束条件,如主键约束、外键约束、唯一约束、非空约束等。敬请期待吧!