您的位置:首页 > 数据库

msyql 数据库

2016-07-15 22:14 281 查看
### 忘记密码
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具体操作
登录

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将自动索引该列。 char(8)表示字符长度为8,tinyint取值范围是-127到128 加上unsigned就是0到255
用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的成绩改成70update student set grade=70 where id=10;
将姓名为吕江涛的id改为10,grade改为60update student set id=10,grade=60 where name='吕江涛’;7.删除表中数据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列改为idnumalter 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