mysql 命令都是灰的_sql语句浅谈以及mysql遇到的问题解决见解

mysql数据库基本操作:1、显示数据库和查看mysql版本

show databases;selectversion();selectuser();查看用户2、选择数据库

use 数据库名;3、显示数据库中的表

show tables;4、显示数据表的结构

describe 表名;5、显示表中记录

SELECT*FROM 表名6、建库

create databse 库名;7.mysql数据库创建新表:

create table student (

snoint(10) not null,

sname varchar(25) not null,

ssexchar(4) not null,

sageint(4) ,

sdeptchar(4),

primary key(sno)

foreign key(sage) referencesclass(age) 注:外键所对应的项应为对应表的主键

);8.mysql数据库在指定表查找数据:selectnamefromstudentwhere sno='1405020109'

9.mysql数据库给指定表插入新数据:

insert into student (sno,sname,ssex,sage,sdept)

values(1405020109,'zeng','M',22,'YW');10.mysql数据库更新指定表的数据:

update studentset sname='zengjie'

where sname='zeng'

11.mysql数据库删除指定表的数据:

deletefrom student where name='张三';12.mysql创建,删除索引:建立索引可以使查询速度提高

方法1:create index classid on class01(id,name);

方法2:alter tableclassadd index index_name(name);

删除索引:dorp index 索引名 on 表名;13.mysql创建视图:视图则为可以反复利用的sql语句样式

create view `classname view`selectnamefromclass01;14.mysql函数的使用:

max,min,sum,count,avg等

使用方法:select 函数名(列名) from 表名 where条件;15.mysql表之间的连接select student.name,class.namefrom student join classon student.classid=class.classid16.在已经存在的表里增加字段或者设置主外键

Alter tableclassadd 字段名 类型 (after 指定字段,这个用来指定增加字段在哪个位置);

Alter tableclassadd constraint primary key (主键名);

Alter tableclassadd constraint foreign key (本表的外键名) references student(其他表的主键);

相当于本表的外键要对应其他表的主键。

mysql数据库的备份与还原(linux环境下):

A.备份1 [root@CentOS ~]# mysqldump -u root -p mysql > ~/mysql.sql  #把数据库mysql备份到用户目录下命名为mysql.sql2Enter password:3 [root@CentOS ~]# ls ~/mysql.sql/root/mysql.sql

B.还原

[root@CentOS~]# mysql -u root -p web < ~/web.sql  #把web.sql导入数据库web

mysql进入安全模式修改user表的一系列问题:

A:linux环境下1:service msyqld stop 或者ps -ef | grep mysql 再kill -9pid2:mysqld_safe --skip-grant-tables &(进入mysql安全模式)3:mysql -u root -p 出现提示密码输入,直接Enter进入4:use mysql;5:select Host,User,Password fromuser;看下user表里的基本用户情况6:修改数据(用户或者密码,当然权限也可以)

一般新增用户建议复制user表上有的权限。。。7:flush privileges; 刷新一下系统的权限8:service mysqld restart

B:windows环境下1:找到my.ini配置文件,在mysqld字符下一行添加skip-grant-tables2: 重启mysql服务3:在命令行模式下直接mysql回车进入mysql数据库4:use mysql;5: update user set authentication_string=password('123456') where Host='localhost';有的mysql版本里面的密码元素不是authentication_string,是Password6:刷新数据库flush privileges;7:quit8: 再次进入my.ini配置文件,注销或者删除skip-grant-tables9: 重启mysql服务10:在命令行mysql -u root -p,再输入密码123456,进入mysql数据库

(注:一般问题是mysql数据库密码错误或者用户权限不够或者User和Host不符合用户所需所造成的。如果是权限上的问题则可以如法炮制修改user表里相关的元素)

再浅谈mysql数据库里的user表里Host元素的localhost和127.0.0.1,这两者作用基本相同,表示本机数据库,但是含义却有小差别,localhost表示不用通过网卡就可以访问数据库,而127.0.0.1需通过网卡访问数据库,如果防火墙或者其他安全设置上有限制,则就可以看出两者的大区别了。

创建新用户:1:CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 创建用户2: GRANT privileges ON databasename.tablename TO 'username'@'host'; 授予权限

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值