MySQL(一)
MySQL安装
MySQL软件包含两部分
服务端软件 | 客户端软件 |
---|---|
socket服务端 | socket客户端 |
文件操作 | 命令发送 |
命令解析 | 命令解析 |
压缩包安装方法
文件解压,在该目录使用命令行
语句为 --initialise-insecure
打开服务端
-未加入环境路径 地址/mysql -u root -p
-加入环境路径 mysql -u root -p
打开客户端
-地址/mysqld
可以将MySQL添加为服务
命令行与语句:“地址/mysqld” --install
添加之后打开客户端直接使用
net start MySQL / net stop MySQL
创建操作
创建文件夹
create database 数据库/文件夹名;
创建用户以及授权
root账户用有全部权限。grant权限只有root账户有且只有它有。
用户信息保存在mysql文件夹下的user文件中
//创建用户&删除用户
create user 或 drop user 用户名'@'IP' identified by '密码';
例如
create user 'abcd'@'%' identified by '123123';
//'%'表示授权所有IP
//改用户名
rename user '旧名字'@'IP' to '新名字'@'IP';
//改密码
SET PASSWORD TO 'user'@'ip' = 新密码;
//权限
//授权
GRANT ALL PRIVILEGES ON *.* TO USER;
//显示权限
SHOW GRANTS FOR user;
//取消权限
REVOKE 权限 ON 数据库.表 FROM user;
//权限包括 SELECT,INSERT,UPDATE,DELETE 等
SQL语句规则
对文件夹/数据库操作
这里注意数据库的引擎以及编码问题,默认编码不可输入中文,默认引擎为myisam,不支持事物,及不支持异常时操作回滚,按运行速度会快。
相关语句为
engine=… default charset=utf8
//创建文件夹
create database dbname;
例如 create database db1 default charset utf8;
//显示文件夹
show databases;
//删除文件夹
drop database dbname;
//注意文件夹/数据库是不可更改的
对文件操作
autu_increment 从1逐行自动累加一,每张表只有一个前必须与primary key一起用
primary key 设置表的主键,每张表唯一
补充
- char与varchar
char(10) 不论长度均占位10字节,搜索速度快
varchar(10)储存长度自由,单搜索速度不如char - 时间类型
名 | 类型 |
---|---|
DATE | YYYY-MM-DD |
TIME | HH:MM:SS |
YEAR | YYYY |
DATETIME | YYYY-MM-DD HH:MM:SS |
TIMESTAMP | YYYYMMDDHHMMSS |
3.ENUM–枚举类型
例如: size ENUM(‘s’,‘m’,‘l’)
每行只能选一个,且设置后里面的可选项目不可更改
4.SET集合类型
例如: myset SET(‘a’, ‘b’, ‘c’, ‘d’)
每行可以选多个,且设置后选择范围不能更改
//创建
create