show databases; # 查看当前Mysql都有那些数据,根目录都有那些文件夹
一 系统数据库
show databases; # 查看当前Mysql都有那些数据,根目录都有那些文件夹
information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息、列信息、权限信息、字符信息等
performance_schema: MySQL 5.5开始新增一个数据库:主要用于收集数据库服务器性能参数,记录处理查询请求时发生的各种事件、锁等现象
mysql: 授权库,主要存储系统用户的权限信息
test: MySQL数据库系统自动创建的测试数据库
create database 数据库名; # 创建数据库文件夹
use 数据库名; # 使用选中数据库,对数据和数据库的对象操作时候,首先打开数据库
show tables; # 查看当前数据库下都有那些表,
以下为添加用户的的实例,用户名为guest,密码为guest123,并授权用户可进行 SELECT, INSERT 和 UPDATE操作权限:
root@host# mysql -u root -p Enter password:******* mysql> use mysql; Database changed mysql> INSERT INTO user (host, user, password, select_priv, insert_priv, update_priv) VALUES ('localhost', 'guest', PASSWORD('guest123'), 'Y', 'Y', 'Y'); Query OK, 1 row affected (0.20 sec) mysql> FLUSH PRIVILEGES; Query OK, 1 row affected (0.01 sec) mysql> SELECT host, user, password FROM user WHERE user = 'guest'; # +-----------+---------+------------------+ # | host | user | password | #19 +-----------+---------+------------------+ # | localhost | guest | 6f8c114b58f2ce9e | # +-----------+---------+------------------+ # 1 row in set (0.00 sec)
create table 表名(nid int,name varchar(20), pwd varchar(64)); # 创建数据库表
drop table 表名 # 删除整个表
delete from 表名 # 删除表中的数据,保留表结构,可恢复
truncae table 表名 # 以更快的方式删除表中的数据,不可恢复。
desc 表明 #查看描述
select * from 表名; # 查看表中的所有数据
insert into 表名(nid,name,pwd) values(1,'alex','123'); # 插入数据
alter table user_info add constraint fk_u_p foreign key user_info(part_nid) references part(nid); # 创建外键关联,下面有另一种方式(子表创建时就关联外键)
# 连表
select * form a,b where a.x = b.o
# join,
a. left join
select * from a LEFT OUTER JOIN b ON a.x = b.o
b. inner join ,永远不会出现Null
select * from a inner JOIN b ON a.x = b.o
select part_nid as a, count(nid) as b from userinfo group by part_nid;