Mysql 学习记录
( xampp 的mysql 与 直接用 dnf 安装的 mysql 有冲突! )
1. 数据库基本知识:
一张表的行 又称为 记录
一张表的列 又称为 字段
表结构:所有字段,规定了你的每一条记录所应该填的内容,不能随意乱写
2.mysql 登录:
mysql -u root -p password (root密码)
3. 查看数据库 : show databases;
4. 选择数据库: use database-name;
5. 数据库文件位置:/var/lib/mysql
6.查看表结构:desc table-name;
7.修改表名称:rename table table-name1 to table-name0
8.将使用过程中的文件保存至特定文件:(启动时操作)mysql -u root -p password --tee="/filename"
9.表字段类型:数值:int, float
字符串:char(n), varchar(n), text 65535字节, longtext 42亿字节
日期:date, datetime, timestamp, time, year
10.数据字段属性: zerofill,不足指定位数时,自动往前添0
unsigned,无符号
auto_increment,自增
not null,这一列允许为null
null, 这一列允许为null
default,默认值,一般配合 not null 使用
11. 帮助: ? word ; 如 ? date
12. 查询数据库基本信息:\s
查看其他可使用的一些帮助命令:\h
13.查看数据库或表创建时的信息:show create database database-name;
show create table table-name;
14. php设置字符集为 utf8, $sql = "set names uft8";
15. 在命令(sql语句)前加上 desc: 调试用,显示此条语句的运行相关信息
16.命令末尾(分号前)加上 \G : 调整输出信息中行的显示方式为列状
17.普通索引: index name(au),如 index in_named(name)
18. 查看index:show index from .. (? show 查看其他show的方法)
19. 后期添加普通索引及删除索引:alter table table_name drop index index_name
alter table table_name add index index_name(au)
20.后期添加/修改/删除字段:alter table table_name add age int ;
alter table table_name modify age int not null default 20;
alter table table_name drop age;
21.修改列名:alter table table_name change name username varchar(30);
22.一次更改多个值:update t1 set id = 77, username = 'h' where id = 7; // 逗号隔开
23.按数值范围操作:如 select id from table_name where id in (1, 4, 5);
select id from table_name where id >= 1 and id < = 5;
select id from table_name where id between 1 and 5;
24.distinct 取出唯一值:select distinct age from user;
25. null : 不能用 = 判断,用 is 方法
26.like 关键字:select * from user where name like "%u%"
% 任意多个字符
正则:select * from user where name regexp "u"
27.使用 limit 限制取出个数:select * from user where name regexp "u" limit 3 (取前3个)
select * from user where name regexp "u" limit 1, 3(取从第二个开始取2个)
28.concat(str1, str2) 连接字符
29.rand() 求随机数
30.group by 必须放在 order by 前
31.group by 必须放在 having 之前,having是对分组的结果进行筛选,此时不能用where
32.after :往id字段前插入字段uid alter table post add uid int unsigned after id;
33.left join on : 左连接 ,左边的表显示完全
34:php 取数据集:
mysql_fetch_assoc // 关联数组
mysql_fetch_row // 索引数组
mysql_fetch_array // 混合数组
mysql_fetch_object // 对象
(待继续更新)