MAC学习MySql笔记

第一部分-安装:
1、下载Mysql Server并安装,下载workbench并安装。
2、记下安装过程中生成的随机密码,类似下图。
这里写图片描述
3、命令行输入mysql -u root -p,登陆mysql,提示输入密码,输入刚才截图的密码即可成功登陆。
4、已进入mysql,输入命令将密码修改为root(或其他):

    SET PASSWORD=PASSWORD('root');

5,继续以下命令:

ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;

重新载入授权表:flush privileges;
6、即可用root密码登陆mysql。

第二部分-使用:
1、存储引擎:
改变某个表的存储引擎命令:

ALTER TABLW mytable
ENGINE = InNoDB;

1)MyISAM,默认存储引擎,支持表级并发控制锁,当某个进程对某个表
进行更新时,其他进程将不能访问表里的任何数据。速度最快。
2)BDB,支持页面级的并发控制锁,当某个进程对某个表进行更新时,
其他进程将不能访问与被更新的记录出于一个内存页面的任何数据。
3)InnoDB,支持记录级的并发控制锁,当某个进程对某个表进行更新时
其他进程将不能访问被更新的记录。在并发访问频繁的系统上最合适使用
该方式。
2、查看数据库:

show databases;

3、选择数据库:

use 数据库名;

4、查看表:

show tables;

5、查看某个表的列:

show columns from 表名;

6、查看所有:

select * from 表名;

7、删除某条记录:

delete from 表名 where 条件;

8、创建数据库:

mysqladmin -u root -p create 库名
输入密码:
如果不存在就创建:
CREATE DATABASE IF NOT EXISTS 库名 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

9、删除数据库(退出mysql命令执行):

mysqladmin -u root -p drop 库名;

10、创建表:

create table if not exists test(
id int unsigned auto_increment,
tile varchar(10) not null,
primary key(id))
engine=InnoDB default charset=utf8;

12、删除表:

drop table test;

13、清空表(把数据清空):

truncate table test;

14、插入数据:

insert into test(表名)
(title1(列名),title2)
values
('title1','title2');

15、查询数据:

select title1,title2 from test(表名)
where id=1,2,3;(查询条件)
//#where binary id=...可区分大小写

16、更新数据:

update test(表名) set title1='title1',title2='title2'
where id=1,2,3;

17、like子句:

select title1 from test
where title like '%tle'; //以%来匹配tle结尾的字符。

18、order子句:

select * from test order by title1 ASC(DESC); //ASC表示升序,反之降序

19、group by子句:

*选取title1列,统计各记录出现次数。或则sum求和或avg求平均。*
select title1 ,count(*) from test group by title1;
//select title1 ,count(*) as new_title from test group by title1;*更换新列名*
select coalesce(name,'new_title') ,count(*) from test group by name with rollup;多一个统计所有的记录new_title。

20、修改表名:

alter table table2 rename to table1;

21、修改列名、属性:

alter table table1 change singin count smallint default 0;
//将表table1的列名singin修改为count,类型smallint,默认0;
alter table table1 modify count char(10);
//修改count列的属性。

22、增加列:

alter table table1 add(column) t varchar(10) default null(after x/first);
//增加列t(位置在x后面/第一列)
alter table table1 drop t;

23、查看表的列名及属性:

desc table1;

24、join子句:

select a.name,b.count from table1 a join table2 b on a.name=b.name;
//选取和table1中的name相同的table2中的count记录。

这里写图片描述
table1:
这里写图片描述
table2:
这里写图片描述
left join:

select a.name,b.count from table1 a left join table2 b on a.name=b.name;
//与上面默认不同的是,即使在table1中的某些name在table2中没有对应的记录,也会把table1的记录列出来,那样在那些记录中就会显示null。(right join类似。)

这里写图片描述
25、null处理:

//在上面table1中,有些name值为空,进行判断时用name is null来判断,而不是name=null
select count from table1 where name is null;

26、事务:

begin开始一个事务,rollback进行回滚取消,commit进行进行事务确认。
insertupdatedelete

27、读取不重复数据:

select distinct count from table1;
//读出table1中的count列不重复的数据。
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值