查看mysql中sql的id_mysql 基础sql语句

本文详细介绍了MySQL数据库的各种操作,包括查看版本、更改用户密码、创建与删除数据库、显示数据库内容以及统计信息。同时,重点阐述了用户管理,如创建用户、设置权限及查看用户权限,并提供了修改和重置用户密码的方法。此外,还讲解了数据库表的增删改查操作,以及字段的管理,包括插入、删除和更新数据。最后,提到了权限问题,如遇到远程连接错误,如何解决ACCESS DENIED问题。
摘要由CSDN通过智能技术生成

1、mysqladmin语句:

mysqladmin version   # 查看mysql版本

mysqladmin -u root -p原密码 password '新密码'     # 更改root用户密码

mysqladmin -uroot -p ping   # 查看数据库是否可用

mysqlshow -uroot -p# 显示服务器上的所有数据库

mysqladmin -uroot -p create my_test    # 创建数据库my_test

mysqladmin -uroot -p drop my_test     # 删除数据库 my_test

mysqlshow -uroot -p my_test              # 显示数据库my_test下有些什么表

mysqlshow -uroot -p my_test -v          # 统计my_test 下数据库表列的汇总

mysqlshow -uroot -p my_test -v -v      # 统计my_test 下数据库表的列数和行数

2、用户登陆相关语句

mysql> mysql -u用户名 -p密码 -h服务器地址  -P端口号  -D数据库名      # 登陆远程服务器

mysql> mysql -u用户名 -p密码       # 登陆本地服务器

3、用户、密码相关语句

mysql>select  user();      #查看当前登陆账户

mysql>create user 用户名@主机地址 IDENTIFIED BY "密码";       # 创建用户语法格式

mysql>create user 用户名@192.168.1.1 IDENTIFIED BY "密码";    # 只允许192.168.1.1主机远程连接本服务器

mysql>create user 用户名@192.168.1.% IDENTIFIED BY "密码";   # 允许192.168.1.X的任意地址连接本服务器

mysql>create user 用户名@% IDENTIFIED BY "密码";                    # %表示所有主机都可以连接本服务器

注意:上述创建好账户后,是不能直接登录的,需要给账户关联数据库,然后给对应的数据库分配权限后才能登录。

mysql>show grants for 用户名@主机地址;              # 查看用户权限

mysql>grant 权限 on 数据库.表 to 用户@主机地址;    # 给用户分配权限语法

语法解析:

# 权限:select、insert、update、delete、all(所有权限)

# 数据库.表 如果是*.*表示所有数据库所有表,一般不会这么设置,可以根据需求自行设置。

# 用户名@主机地址:指定用户可以从那台主机登陆数据库,语法规则与创建用户一样。如下:

用户名@192.168.1.1       # 只允许192.168.1.1主机远程连接本服务器

用户名@192.168.1.%       # 允许192.168.1.X的任意地址连接本服务器

用户名@%                      # %表示所有主机都可以连接本服务器

grant 不单单只是给用户赋值权限,如果输入的用户不存在会创建一个用户。

mysql>grant select on 数据库.表 to 用户@主机地址 identified by "密码" ;     # 下面使用grant创建用户和分配密码

mysql>flush privileges;    # 对用户权限进行操作后,需要更新权限设置否则不生效

mysql> set pasword = password("密码")                                     # 修改当前用户密码

mysql>set password for 用户名@主机地址 = password("密码")   # 使用管理员用户修改其它用户密码

忘记root密码

net stop mysql          # 停止mysql服务

mysqld -nt --skip-grant-tables   # 跳过权限表

以管理员身份重新启动一个cmd命令窗口,输入:mysql -uroot -p,Enter进入数据库。

select host,user,password from mysql.user;     # 即可查看到用户和密码

修改密码,在命令行下 依次 执行下面的语句

mysql>use mysql

mysql>update user set password=password("new_pass") where user="root";

mysql>flush privileges;    # 更新权限设置

mysql>exit

重新启动MYSQL,输入密码登录即可。

net start mysql

mysql -uroot -p

删除用户

mysql> drop user 用户名@主机地址 ;

delete from user where user='用户名' and host='localhost';

两者区别:drop不仅会将user表中的数据删除,还会删除其他权限表的内容。而delete只删除user表中的内容,所以使用delete删除用户后需要执行FLUSH PRIVILEGES刷新权限,否则下次使用create语句创建用户时会报错。

4、数据库相关操作

增:create database 数据库;

删:drop database 数据库;

改:alter database 数据库 字符集;

查:show databases;

show create database 数据库;

5、数据库中表相关操作

增:create table 表名(字段 数据类型 约束条件,...);

删:delete from 表名;  # 如果有自增id,新增的数据,仍然是以删除前的最后一样作为起始。

truncate 表名;        # 数据量大,删除速度比上一条快,且直接从零开始。

改:alter table 表名 modify 字段 数据类型 约束条件;

alter table 表名 change 字段 新字段名 数据类型 约束条件;

alter table 表名 add 字段 数据类型 约束条件 first: # 添加新字段并放在表的第一个位置

after table 表名 add 字段 数据类型 约束条件 after 字段; # 新增字段,放在某一字段的前面

after table 表名 rename 新表名;

查:show tables;

select * ftom 表名;

select distinct 字段名 from 表;               # distinct关键字表示去掉该字段的重复值

select 字段*12 from 表;                      # select在查询字段时可以对字段进行简单的四则运算

select concat("自定义字符",字段,"自定义字符") from 表名;

select concat("自定义字符",字段,"自定义字符") as 显示名 from 表名;

select concat_ws('自定义字符',字段1,字段2,...) from 表名;                # 将字段和字段用自定义字符进行分隔

select concat_ws('自定义字符',字段1,字段2,...) as 显示名 from 表名; # 将字段和字段用自定义字符进行分隔

select *,(case when 条件 then 执行字段 when 条件 then 执行字段 else 执行字段 end) from 表名;

desc 表名;                        # 显示表结构

show create table 表名; # 显示表结构

6、数据库中表字段相关操作

增:insert into 表名 (字段) values(数据,...);

删:delete from 表名 where 字段=数值;

改:update 表名 set 字段=新值 where 字段=旧值;

查:select * from 表名;

select 字段,字段,... from 表名;

七、补充

当我们给一个数据库授权用户后,在远程连接数据库报ERROR 1045 (28000): Access denied错误时。

登录数据库mysql,删除user表中user列为空格的行:

delete from user where user=' ';

flush privileges;

重新登陆即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值