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;
停留在世界边缘,与之惜别