mysql基础
http://www.runoob.com/mysql/mysql-install.html
windows下载地址 https://dev.mysql.com/downloads/file/?id=479669
1.解压zip包
2.在解压包mysql-8.0.12文件夹下创建 my.ini 配置文件,编辑 my.ini 配置以下基本信息:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
[mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] # 设置3306端口 port = 3306 # 设置mysql的安装目录 basedir=实际安装目录 # 设置mysql数据库的数据的存放目录 datadir= 实际数据目录 # 允许最大连接数 max_connections=20 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB
使用管理员身份打开cmd
初始化数据库:mysqld --initialize --console
![](https://img2018.cnblogs.com/blog/950121/201810/950121-20181018132457180-104968561.png)
注:temporary password 临时密码 登录会使用
3.输入以下安装命令: mysqld --install
4.启动输入以下命令即可:net start mysql
注意: 在 5.7 需要初始化 data 目录:
cd C:\web\mysql-8.0.11\bin
mysqld --initialize-insecure
初始化后再运行 net start mysql 即可启动 mysql。
5.登录mysql
当 MySQL 服务已经运行时, 我们可以通过 MySQL 自带的客户端工具登录到 MySQL 数据库中, 首先打开命令提示符, 输入以下格式的命名:
mysql -h 主机名 -u 用户名 -p
- -h : 指定客户端所要登录的 MySQL 主机名, 登录本机(localhost 或 127.0.0。1)该参数可以省略;
- -u : 登录的用户名;
- -p : 告诉服务器将会使用一个密码来登录, 如果所要登录的用户名密码为空, 可以忽略此选项。
若密码存在, 输入密码登录, 不存在则直接按回车登录。
使用临时密码登录后需要修改密码才能操作数据库
修改密码sql: alter user 'root'@'localhost' identified by '123';
Navicat连接MySQL Server8.0
出现Client does not support authentication protocol requested by server;解决如下:
alter user 'root'@'localhost' identified with mysql_native_password by '********';
flush privileges ; //将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。MySQL用户数据和权限有修改后,希望在"不重启MySQL服务"的情况下直接生效,那么就需要执行这个命令。
---------------------------------分割线----------------------------------
创建用户
create user 'username'@'%' identified by 'password';
分配权限
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON [databasename].[tablename] TO 'zara'@'localhost'
查看权限
查看当前用户下所有的权限 show grants;
查看指定用户下的所有权限
需要执行flush privileges;
Create Table TableName(
Id Int UNSIGNED NOT NULL AUTO_INCREAMENT ,// UNSIGNED 无符号 //AUTO_INCREAMENT 自增 //LAST_INSERT_ID( ) 函数来获取最后的插入表中的自增列的值
PRIMARY KEY(Id),
Name Varchar(20)
)
SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[LIMIT N][ OFFSET M]
Where 条件默认不区分大小写,使用BINARY关键字设定区分大小写
正则表达式
查找name字段中以'st'为开头的所有数据:
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';
查找name字段中以'ok'为结尾的所有数据:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';
查找name字段中包含'mar'字符串的所有数据:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';
查找name字段中以元音字符开头或以'ok'字符串结尾的所有数据:
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';