一、登录账号
mysql -u root(用户名) -p
password:
默认管理员用户名为root,无密码,直接按回车可成功登陆账号(以下界面即为登陆成功)
二、无密码登录不了问题及端口冲突问题
# 解决root无密码登录不了的问题
# 以不检查权限的方式启动 先停止mysql服务
safe_MySQLd - skip -grant -tables
update MySQL.user set password=PASSWORD('新密码') where User ='root'
flush privileges;
# 解决端口冲突问题
netstat -ano|findstr 3306 # 查询正在执行3306
端口的程序,如果有 在任务栏找到对应程序结束任务就可
以了
# 退出数据库,exit / quit 都可以退出数据库
exit
quit
三、SQL通用语法
1.单行或者多行书写,以分号结束
2.可以使用空格或者缩进来增强语句的可读性
3. mysql数据库中,SQL语句不区分大小写,关键字建议使用大写
4.
注释
单行注释
# --
多行注释,
/* */
分类
1. DDL 数据定义语言,用来定义数据库对象(数据库,表,字段)
2. DML 数据操作语言,用来对数据表中的数据进行增删改
3. DQL 数据查询语言,用来查询数据库中表的记录
4. DCL 数据控制语言,用来创建数据库用户,控制数据库的访问权限
DDL 语句
数据库
- 查看数据库
show databases; # 查看当前用户可操作的所有数据库
- 创建新数据库
CREATE DATABASE [IF NOT EXISTS] 数据库名字 [DEFAULT CHARSET utf8mb4]; # mysql8 中创建的数据库默认编码是'utf8mb4'
-
选择数据库
use 数据库名; # 选择数据库之后可以在其中创建数据库表 select database(); #可以查看当前所选择的数据库名
删除数据库
drop database 数据库名;
表管理
1.查看表
show tables;
# 查看当前被选中的数据库中的所有表
![](https://i-blog.csdnimg.cn/blog_migrate/368f59f3c9da0ce5538f3c6605388579.png)
数据表中包含若干列,每列需要明确列中存储的数 据类型,如字符串、日期时间、证书、浮点数等等。
2.创建表
CREATE TABLE [IF NOT EXISTS] tab_name(
col_name datatype [COMMENT '注释'],
col_name datatype
)[CHARACTER set 编码格式];
create table goods(
good_no int comment'商品编号',
goods_name varchar(50) comment'商品名称',
cost double comment'商品成本',
price double comment'商品售价',
count int comment'商品库存',
create_time datetime comment'商品上架时间',
category_no int comment'商品分类编号');
3.查看表结构
describe 表名;
desc 表名;
show create table 表名;
![](https://i-blog.csdnimg.cn/blog_migrate/8cb14b5d85d9c25149926094054f85fd.png)
4.删除表
drop table 表名;
用户管理
1.查看当前登录的用户
select user() [from dual]; # 查看当前登录的用户
2.
创建新用户
create user 用户名@'ip主机地址192.168.31.34' identified by '密码';
3.修改密码
alter user 用户名@'ip主机地址'identified by '密码'
password expire never;
# 修改密码之后不需要重新登录
4.查询用户信息
select user,host from mysql.user;
5.用新用户登录
mysql -u 用户名 [-h ip地址] -p
# 新创建的用户只有登录权限,需要使用管理员账户授权
6.为用户授权
show grants for 用户名@localhost;
# 查询用户的权限
数据库名.表名 用户名@ip地址
grant all(权限) on kfm.carts to txsy@localhost;
# all 代表所有权限
# 授权的新用户需要重新登录才能使用新权限
# 任意ip可以访问
GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%';
update mysql.user set host='%' where user='txsy;
#更新用户权限
flush privileges;
#立即执行更新操作
all :所有权限
select :查询权限
insert :插入权限
update :更新权限
7
删除用户
drop user 用户名@'localhost';