8、MYSQL命令整理
查询
show table status from mysql like 'user'\G;** **该命令将输出Mysql数据库管理系统的性能及统计信息**
grant select,insert,update,****DELETE****,****CREATE****,****DROP** **on mysql.\* to 'tom'@'localhost' identified by '123456'; 授权tom用户,查询、插入、更新、删除、创建、删除库 的权限**
desc table; 显示数据表的属性,属性类型,主键信息 ,是否为 NULL,默认值等其他信息。**
show index from table; 显示数据表的索引信息,包括PRIMARY KEY(主键)**
show status like 'Threads%'; 查看当前连接数据库的数量** Threads_connected**、当前并发数**Threads_running
show processlist; 查看当前连接的状态**
show variables like '%max_connections%' 查看当前数据库设置的最大连接数!** set GLOBAL max_connections=256;
show global status like 'Max_used_connections'; 查看服务器响应的最大连接数,**服务器响应的最大连接数值占服务器上限连接数值的比例值在10%以上
create table t1(t1_id int not null auto_increment,
-> t1_title varchar(100) not null,
-> t1_author varchar(100) not null,
-> submission_data date,
-> primary key (t1_id)
-> ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC; 创建t1表,设置t1_id 主键,并自动增加,并设置submission_data 日期自动更新,但是不能自动添加时间
insert into t1(t1_title, t1_author, submission_data) value('aa', 'bb', NOW()); 插入数据,时间会自动更新
SELECT * from tutorials_tbl WHERE BINARY tutorial_author='sanjay'; 数据库默认不比较字符串大小写,使用binary,区分大小写
select * from t1 where t1_title like "%jay"; 查询表中已“jay”结尾的所有记录
修改
alter table t1 modify submission_data datetime; 修改t1表中submission_data类型
alter table t1 add column t1_end varchar(100) default null; 在表中增加一个列t1_end
alter table t1 drop column t1_end; 删除表中一列t1_end
alter table t1 rename t2; 修改表的名字
alter table t1 add primary key; 删除表中设置的主键索引,如果删除不了,请先修改列的类型,把自动增长auto_increment 给更改
alter table t1 add primary key(t1_id); 设置某列为主键
更新
update students set name="小明", age=19 where tel="13288097888"; 将手机号为 13288097888 的姓名改为 "小明", 年龄改为 19
update students set tel=default where id=5; 将 id 为 5 的手机号改为默认的
update students set age=age+1; 将所有人的年龄增加 1
UPDATE runoob_tbl SET runoob_title = REPLACE(runoob_title, 'C++', 'Python') where runoob_id = 3; 更新 runoob_id 为 3 的runoob_title 字段值的 "C++" 替换为 "Python":
删除
DELETE FROM tl WHERE tl_id=3; 删除 tl表中t1_id=3 的数据
多表联合查询
https://www.cnblogs.com/tugenhua0707/p/10771935.html
1)内连接:join, inner join
2)外连接:left join, left outer join, right join, right outer join, union;
3) 交叉连接:cross join
join的含义是:用于多表中字段直接的联系。
基本语法如下:
select * from table1 inner|left|right join table2 on conditiona
说明:table1 是指第一张表。table2是指第二张表。 on 后面的含义是:满足这个条件。
join按照功能可以分成如下三类:
1) inner join(内连接,或叫等值连接):取得两个表中存在连接匹配关系的记录。
2)left join(左连接):取得左表(table1)完全记录,右表(table2)如果有条件相符合的记录就匹配,否则为null;
3) right join(右连接): 取得右表(table2)完全记录,左表(table1)如果有条件相符合的记录就匹配,否则为null;
Last updated