启动mysql:service mysqld start
关闭mysql:service mysqld stop
连接到mysql:mysql -u root -p
退出连接:exit
库的操作
创建数据库:
- 创建数据库company1:create database company1;
- 创建使用utf8字符集的company2:create database company2 charset=utf8
- 创建一个使用utf字符集,并带校对规则的company3数据库:create database company3 charset=utf8 collate utf8_general_cl;
校验规则:
1.区分大小写
- 1)创建一个数据库,校验规则使用utf8_general_ci (不区分大小写)
- create database bbb collate utf8_general_ci;//创建数据库
- use bbb; //使用数据库
- create table person(name varchar(20));//创建表
- insert into person value(‘A’); //在表中插入值
- insert into person value(‘a’);
- select * from person where name='a'; //在表中查找name值为a的,输出A,a
- 2)创建一个数据库,校验规则使用utf8_general_bin(区分大小写)
- create database ccc collate utf8_general_bin;
- use ccc;
- create table person(name varchar(20));
- insert into person value('A');
- insert into person value('a');
- select* from person where name='a';//在表中查找name值为a的,只输出a
2.影响排序
- use ccc;
- select * from person order by name; //假如插入了a,A,b.B 排序为:A,B,a,b
- use bbb;
- select * from person order by name;//假如插入了a,A,b.B 排序为:a,A,b,B
操纵数据库:
- 查看数据库:show databases;
- 显示数据库创建语句:show create database 数据库名;
- 删除数据库:DROP DATABASE 数据库名
- 查看当前数据库的连接状态:show processlist
//这条语句可以告诉我们当前有哪些用户连接到我们的MySql,如果查出不属于自己的用户,可能是你的数据库被人入侵了
- 备份和恢复数据库:
1)备份:在#用户下,并不是在Mysql里面备份;mysqldump -u root -p密码 数据库名 > 数据库存放路径
- mysqldump -u root -p mytest > ./mytest.sql; //——将mytest库备份到桌面
- //这时打开mytest.sql文件里的内容,其实我们把整个建库,建表,导入数据的语句都装载在这个文件中了
2)删除原来的数据库
- drop database mytest;
- show databases;
3)恢复数据库,必须先创建一个空的数据库,最好和以前的数据库名字一致
- create database mytest;
- use mytest
- source /root/Desktop/mytest.sql //将数据库恢复回来
4)备份数据库注意事项
a)如果备份的不是整个数据库,而是其中的一张表,怎么做
- mysqldump -u root -p密码 数据库名 表名1 表名2 > ./mytest2.bk
b)如何恢复指定的表?
- source 备份的文件路径
修改库:
对数据库的修改主要是指修改库的字符集,校验规则
alter database mytest charset=gbk;
show create database mytest;
删除库:
drop database 数据库名
注:不要随便删除数据库
表的操作
创建表:
- create table users(
- id int,
- name varchar(20) comment '用户名',
- password char(32)comment ‘密码是32位的md5值’,
- birthday date comment ‘生日’
- )character set utf8 engine MyISAM //character set 字符集,engine 存储引擎 ,collate 校验规则
查看表结构:desc 表名
- desc users
修改表:
- 添加一列:alter table tablename add……
- 修改表中列的属性:alter table tablename modify……
- 删除表中字段:alter table tablename drop……
- 修改表名:alter table tablename rename to newname
- 修改字符集:alter table tablename charset=字符集
- 修改表中一列的名字:alter table tablename change 字段 新字段 (新字段需要完整定义)
eg:
1.在users表中增加一列(一个字段),用来保存图片路径
- alter table users add image varchar(100) comment '图片路径' after birthday;
2.修改name长度为60
- alter table users modify name varchar(60);
3.删除password列
- alter table users drop password;
4.修改表名为employee
- alter table users rename to employee;
5.修改字符集为gbk
- alter table employee charset=gbk;
6.修改name字段为xingming
- alter table employee change name xingming varchar(60)