1.创建库

create database <数据库名>;


2.创建表

create table <表名>(
<字段名1><类型1>,
...
<字段名n><类型n>
);

例子1:

create table xuesheng(
id int(4) not null,                                                      
name char(20) not null,
age tinyint(2) NOT NULL default '0',
dept varchar(16) default NULL
);

int(4)      整型
char(20)     定长字符型
tinyint(2)  小数型 
varchar(16)   变长字符类型


3.查看表结构

desc xuesheng;


4.查看已建表的语句

show create table xuesheng;


5.往表里插入数据(增)

insert into 表(字段1,字段2) values(数据1,'数据2');
insert into test(id,name) values(1,'qinzc');

insert into test values('3','qinzc3');

insert into test values(4,'qinzc4'),(5,'qinzc5');


6.删除表(删)

drop tables test;


7.修改表数据

命令语法:
updata 表名 set 字段=新值,.. where 条件

update test set name='xiugai' where id=3;


8.修改表中所用行的数据

update test set name='xiugai1';     谨慎使用,一般需要加where条件


9.查询表数据 (查)

select <字段1,字段2,..> from <表名> where <表达式>;
 
select * from test;
 
select id,name from test limit 2;         //查询两个
select id,name from test limit 0,2;       //查第n行以后的两个数据
 
select id,name from test where id=1;              //条件查询 id =1 的显示出来
select id,name from test where name='qinzc3';     //条件查询 name =qiznc3 的显示出来

select id,name from test where name='qinzc3' and id=3;  //多条件查询,两边成立

select id,name from test where name='qinzc3' or id=3;  //多条件查询,或

select id,name from test where id>2 and id<4;       //范围查询    
select id,name from test where id>2 or id<4;        //范围查询  

select id,name from test order by id;    //默认对id升序
select id,name from test order by id asc;    //对id列升序
select id,name from test order by id desc;    //对id倒序


10.备份数据库

mysqldump -u账号 -p密码 -B <库名> >/opt/qinzc.bak.sql

多实例:
mysqldump -uroot -p123456 -S /data/3306/mysql.sock -B d3306 >/opt/qinzc.bak.sql


11.查看当前库的表

show tables;
show tables like 'user';
show tables from <库名>;    //查看制定库中的表



12.切割mysql-bin-log日志

提示:
log-bin=mysql-bin 必须先打开(my.cnf)

mysqladmin -uroot -p123456 flush-logs


13.mysql-bin-log日志转sql    

mysqlbinlog mysqlbin_xxx.00001 >xxx.sql


14.增删改表的字段

命令语法:alter table 表名 add 字段 类型 其他;
alter table test add sex char(4);

alter table test add sex char(4);

alter table test add age char(4) after name;   //在字段name后插入
alter table test add qq char(4) first name;   //在字段name前插入

生产环境多个复杂添加修改多字段信息的案例
1、增加 1 个字段:
ALTER TABLE `etiantian` ADD `FIRSTPHOTO_URL` varchar(255) default NULL COMMENT '第一张图片 URL'

2、增 2 个字段:
ALTER TABLE `basic` ADD `adhtml_top` varchar(1024) default NULL COMMENT '顶部广告.html' ,ADD `adhtml_right` varchar(1024) default NULL COMMENT '右侧广告 html' ;

3、改变字段:
alter table ett_ambiguity change ambiguity_state ambiguity_state tinyint comment '状态,默认 1=正常,0=失效';

ALTER TABLE `ett_photo` MODIFY COLUMN `PHOTO_DESCRIPTION` varchar(512) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '描述' AFTER PHOTO_TITLE`;

4、修改字段类型:
alter table test modify age char(4) after name;

5、修改字段名称
 alter table test change age oldboyage char(4) after name;

15.更改表名

方法1:rename table test to test1;

方法2:alter table test1 rename to test;

show tables;

16.主键索引方法

例子1:

create table xuesheng(
id int(4) not null auto_increment,          auto_increment 自增                                            
name char(20) not null ,
age tinyint(2) NOT NULL default '0',
dept varchar(16) default NULL
primary key(id)             主键
key index_name(name)        普通索引
);

create table xuesheng( id int(4) not null,name char(20) not null,age tinyint(2) NOT NULL default '0',dept varchar(16) default NULL,primary key(id),key index_name(name));

17.建表后主键索引方法

alter table xuesheng change id id int primary key auto_increment;  增加主键,与自增

alter table xuesheng add index index_name(name);   增加普通索引
alter table xuesheng add index index_dept(dept);   增加普通索引

create index index_dept on xuesheng(dept(8));   制定前N个字符创建索引

create index ind_dept on xuesheng(name,dept);   多个字段联合索引

create index ind_dept on xuesheng(name(8),dept(8));   制定前N个字符多个字段联合索引

18.删除主键与索引

PRI:主键
MUL:索引
UNI:唯一索引
alter table xuesheng drop primary key;  删主键
alter table xuesheng drop index index_name;  删普通索引
drop index ind_dept on xuesheng;  删普通索引

19.创建唯一索引(非主键)

create unique index uni_ind_name on xuesheng(name);

20.查询索引

 show index from xuesheng;