温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

msyql 数据库

发布时间:2020-07-12 10:18:02 阅读:373 作者:大魔王哈 栏目:数据库
亿速云云数据库,读写分离,安全稳定,弹性扩容,低至0.3元/天!! 点击查看>>

### 忘记密码

vim /etc/my.cf

在[mysqld]中添加 skip-grant-tables

重启Mysql

现在可以直接进入mysql,改掉root密码

执行以下命令

USE mysql;

UPDATE user SET Password = password('新密码') WHERE User = 'root';更新user表中root密码

flush privileges;

删掉/etc/my.cf中添加的 skip-grant-tables

重启mysql 就OK了

mysql具体操作

  1. 登录 

mysql -h 登录主机 -u用户名 -p密码

2.创建一个数据库

create database 数据库名 character set gbk; 

选择要使用的数据库 : use 数据库名;

也可以在登录时直接选择:mysql -D 数据库名 -uroot -p

3.创建数据库表

create table 表名 (列声明);

以创建成绩表为例,内容为学号(id)、姓名(name)、性别(sex)、成绩(grade):

create table student (

  id int unsigned not null auto_increment primary key,

  name char(8) not null,

  sex char(4) not null,

  grade int unsigned  null default "absent"

);

对于一些较长的语句,可以通过任意文本编辑器将语句写好保存为createtable.sql,通过命令提示符下的文件重定向执行执行该脚本。

mysql -D 数据库名 -uroot -p < createtable.sql

语句解释:

括号内声明了4列内容, id、name、sex、grade为每列的名称, 后面跟的是数据类型描述, 列与列的描述之间用逗号(,)隔开;

            int指定该列的类型为int(范围为-83888608到83888607),在后面又有unsigned加以修饰,表示该类型为无符号类型,此时该列的取值为0到16777215;

            not null 表示该列值不能为空,必须填,如果不指定该属性,默认可为空;

            auto_increment 需在整数列中使用, 其作用是在插入数据时若该列为 NULL, MySQL将自动产生一个比现存值更大的唯一标识符值。在每张表中仅能有一个这样的值且所在列必须为索引列。

    primary key 表示该列是表的主键, 本列的值必须唯一, MySQL将自动索引该列。

用show tables;就可以查看记得表了

4.向表中插入数据

insert into student values(值1,值2,值3,值4...)

有时只需要插入部分数据 insert into student (列名1,列名2,列名3) values(值1,值2,值3)

5.查询表中数据

select 列名称 from 表名 [WHERE 查询条件]

例:查询所有人名字

select name from student;

查询所有人学号和姓名

select id,name from student;

查询所有内容

select * from student;

按条件查询

= < > !=  is[not]null in like

例:查询所有女生信息

select * from student where sex = '女’;

查询成绩在60分以上的人

select * from student where grade > 60;

查询姓王的人

select * from student name like '%王%'

查询id小于10且成绩大于60的人

select * from stutdent where id<10 and grade>60;

6.更新表中的数据

update 表名 set 列名=新值 where 条件;

例:

将id为10的成绩改成70

update student set grade=70 where id=10;

将姓名为吕江涛的id改为10,grade改为60

update student set id=10,grade=60 where name='吕江涛’;

delete from 表名 where 条件

例:

删除id=2的行:

delete from student where id=2;

删除成绩<30的数据:

delete from student where grade<30;

删除表中所有数据:

delete from student;

8.创建后表的修改

添加列

alter table 表名 add 列名称 [after 插入位置];

例:

在表后面追加列地址address:

 alter table student add address char(60);

在名为grade的后面追加tel:

alter table student add tel char(13) after grade;

修改列

alter table student change 列名称 新列名称 新数据类型

例:

将id列改为idnum

alter table student change id idnum int unsigned auto_increment primary key;

将name数据类型改为char(16)

alter table student change name name char(16) not null;

删除列

alter table 表名 drop 列名称

删除tel列

alter table student drop tel;

重命名表

alter table student rename students;

删除整张表

drop table 表名;

删除整个数据库

drop datebase 数据库名;

修改用户密码

mysqladmin -uroot -p password 新密码

亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×