Head First SQL:学习笔记1/2

本博客详细介绍了MySQL数据库的基本命令,包括创建、删除数据库和数据表,使用数据库,显示表结构,插入表数据,以及如何进行复杂的SQL查询。涵盖了条件查找、比较运算符、NULL值的选择、字符串函数等高级特性,并深入讲解了DELETE和UPDATE命令的使用方法。此外,还介绍了规范化设计表结构的原则和技巧,以及ALTER命令用于修改表结构的各个功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一章 MySQL常用命令:

1.显示数据库:show databases;

2.使用数据库:use arsenal_db;

3.创建/删除数据库和数据表:create database arsenal_db;

Drop database arsenal_db;

Create table mytable{id int not null,name varchar(30) not null default "Player"};

not null表示不能为空;

default表示默认值;

4.显示数据库的表:show tables;

5.创建表:create table my_tab( id int, name varchar(30));

6.显示表结构:desc my_tab;

7.删除表:drop table my_tab;

8.插入表数据:insert into my_tab (id,name) values (1,'Ozil');任何文本型的都要加单引号或者双引号,比如char,varchar,date等

9.查看表记录:select * from players;

第二章SELECT命令

1.条件查找:select * from players where id=1;*表示返回所有的列;

2.综合查询:select * from players where id=1 and name='Ozil';

and:并且

or:或者

like:符合某种条件,多和通配符一起用。通配符有:

- %:任意数量未知字符: select * from players where name like '%iabi';

- _:一个未知字符: select * from players where name like '_iabi';

- between...and:等价于<= >=: select * from players where name like '%iabi';

- in:在...范围内: select * from players where name like '%iabi';

- not in:不在...范围内

- not:不满组某种条件,单独使用not必须跟在where之后: select * from players where name not like '%iabi';

3.比较运算符:=,<>不等于,<=,>=;

4.必须使用is null 选择值为null的数据;

5.使用\进行转义,例如\‘表示’;

第三章 DELETE 和 UPDATE

1.删除语句:delete from players where ...;delete不能删除某一列,只能逐行全部删除;建议使用delete的时候先使用select检查情况;

2.更新语句:update players set name = ‘Walcot’, id = 5 where...

3.以现有列的内容填充新列:update players set newcolumn=right(oldcolumn,2);

第四章 规范化设计表结构

1.让表结构具有原子性(信息具体,不需要再进行查找,分隔)

2.每张表都有主键,唯一表示一行的键值,主键必须是not null,可以设置为 int not null auto_increasement

3.使用:show create table players;返回创建表的SQL语句。 

4.创建表的最后一句加上设置主键的语句:primary key (id)

Create table test(id int not null,name varchar(30),primary key(id));

5.更改表结构:

添加:alter table players add column sex int not null, add primary key (id);

第五章 ALTER

1.添加列:alter table players add column sex int not null [first,last,fifth插入位置], add column ...;插入位置不写默认为最前位置

2.修改表名:alter table oldtable rename to newtable;

3.结构修改列(名称和类型):alter table players change column old new int not null auto-increment, add primart key(new);修改多列用逗号隔开。

4.修改列类型:alter table players modify column col varchar(20);

5.删除列:alter table players drop column old;

6.常用字符串函数,适合char和varchar:

right:从列的右侧开始取n个字符。例如select right(name,1) from players;

left:从列的右侧开始取n个字符。

substring_index(name,',',1):寻找name列中第一个逗号前面的内容

substring,upper,lower,reverse,ltrim,rtrim等

第六章 SELECT进阶

1.case语句:会对全部的行进行修改,因此case一定要情况完全写完整,慎重使用。

update players set name = 

case

when column1 = value1 then newvalue1

when column2 = value2 then newvalue2

else defaultvalue

end

2.单列排序:select name from players order by name;

3.多列排序:select id, name from players order by id,name;

4.反序:select name from player order by name desc;

5.数值函数:

sum:取总和;select sum(id) from players where id > 1;

avg:取平均;

max:取大值;

min:取小值;

count:计数;count(name)计算name列的行数;

关键字:

distinct:去掉重复的值; select distinct name from player order by name;

group by:按照其进行分组,相同内容作为一组,一般与sumavgmaxmincount等联合使用;select * from players group by name;

limit:指定显示的条数, select id from players order by id desc limit 2;显示两条

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值