第零章:Mac用户看这里:
mac终端写MySQL和windows基本相同,除了配置环境变量和启动有些许不同以外。
先配置环境变量,在终端输入vim ~/.zshrc
按字母键a进入编辑模式,输入alias mysql-/usr/local/mysql/bin/mysql
按esc,输入:wq保存退出。
输入:source ~/.zshrc
就好了。
第一章:基础命令
1、登陆数据库:
mysql -uroot -p88888888
-u后面是用户名,-p后面是密码,我的用户名是root,密码是88888888

2、列举所有schema:
show databases;

相当于Workbench的这个界面,但是命令行查询会把隐藏的也展示出来。

3、选择需要访问的SCHEMA,
use game_object;
4、查看当前选择SCHEMA的表格,
show tables;


5、创建新的SCHEMA,
create database game_testdb;
再show一下,

6、删除SCHEMA,
drop database game_testdb;

第二章:SQL命令
1、创建一张表
create table tablename(id int not null auto_increment,username varchar(45),password varchar(45),primary key(id));
在创建表之前,我们先创建一个新的数据库SCHEMA,存储我们这一章的内容。

在remoo_test中创建一张表。
格式:
create table tablename(
id int not null auto_increment,
username varchar(45),
password varchar(45),
primary key(id)
);


2、查看表结构
desc tablename;

3、删除表
drop table tablename;
辛辛苦苦打出来的表格,我就不删了哈。
4、给表插入数据
insert into mytable(username,password) values('remoo','1234');

5、查看表内所有数据
select * from mytable;
之后我们会带条件的查询,这个是最后学习的内容。

6、更新数据
我们再插入多点数据先,

无条件修改:全部修改了!!!
update mytable set username = 'rem',password = '888';

有条件修改:使用关键字where即可
update mytable set username = 'remoo' where id=1;

7、删除数据
有条件的删除:(没条件就相当于全给你删了)
delete from mytable where id=2;

8、查询(重点)
我们之前学习了select * from mytable;
也就是查看表内所有数据,现在我们来学一些新的。
select的标准语句:
select column_name from table_name where filter_condition order by column_list limit rom_limit
select column_name
from table_name
where filter_condition
order by column_list
limit rom_limit
现在我们有这么多数据:

1-limit关键字
列举前n个数据:
select * from mytable limit n;
使用limit 关键字后面跟上数字即可。
例子:列举前5个。即n=5

limit还可以这样用:
select * from mytable limit n1,n2;
n1表示去掉前n1条数据,往后读取n2条。
例子:去除了第一条,往后读4条。

这个命令在实际开发中被用来制作分页的,一个页面展示多少内容,就limit一下,节省服务器开销。
2-*
这个*号表示所有,这里指所有的Column,比如我只想查询mytable里的username列表:
select username from mytable;

3-where关键字
select id,username from mytable where id>3;

图片已经很清楚了~~
4-order by 排序关键字
select id,username from mytable order by id;
意思是按照id从小到大排序。

如果想反序,就在id后面加入desc关键字。
select id,username from mytable order by id desc;

还可以使用多个参数,
select id,username from mytable order by username,password;
意思是,但username相同的时候,再对password排序。
请大家自行测试。
5-as关键字
可以修改表头标题,不加也可以。
select username as 名字 from mytable;
等效于:
select username 名字 from mytable;

6-函数逻辑运算
最全的官方文档在这里。https://dev.mysql.com/doc/refman/8.0/en/functions.html
这里举一些常用的,有兴趣大家自己组合玩耍一下。
select 1+1;
select now();
select curtime();
select pi();
select sqrt(64);

select round()
select floor()
select ceiling()
对字符串做加法select concat(first_name,last_name) Name from actor;

字符串替换 select replace('remoremoo','e','111');

日期格式化 select date_format(payment_date,'%y/%m/%d') from payment limit 5;

可以尽情发挥。https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html

7-distinct去重关键词
去重前:select first_name from actor order by first_name limit 10;

去重后:select distinct first_name from actor order by first_name limit 10;

8-and
表示同时满足条件。
请自行测试。
9-or
表示只要一个满足条件。
请自行测试。
and的优先级比or高。
10-判断是否为空(null)
is null
is not null
11-not 逻辑取反
请自行测试。
12-in()
select first_name from actor where first_name in ('AL','BELA');
包含就输出。

13-between
select * from actor where actor_id between 2 and 5;

14-like
模糊查询。%代表任意数量字母!!
_代表一个字母!!
select * from actor where first_name like 'NI%';

select * from actor where first_name like 'NIC_';

浙公网安备 33010602011771号