希望更多高手多多帮忙补充,有更多高级命令回帖即可,谢谢各位。
注意:每条命令结尾可以用分号“;”结束也可以用“\g”结束。
1:查看版本号和当前日期: select version(),current_date();
2:查看mysql当前数据库: show databases;
3:查看mysql当前表: show tables;
当表太多,想找到是否有此表的时候可以用like关键字:
show tables like '%field%';
4:指定要使用的数据库: use DBName;
5:创建一个新的数据库
create database database_name;
create database if exists db_name;
6:创建一个新表
create table table_name (字段1 类型(类型长度),字段2 类型(类型长度),...,primary key (字段));
其中primary key是指定主键,还可以使用unique修饰字符指定输入字段的值是唯一的,即值不能重复。AUTO_INCREMENT修饰符表明MySQL要将为这个字段自动生成一个数字,该修饰符只适用于数字字段
7:修改表
alter table table_name add new_field new_field_type;
alter table table_name modify old_field new_field_type;
8:删除表或数据库
drop table table_name;
drop database db_name; //将删除指定数据库所有表和目录
drop database if exists db_name; //避免删除不存在的库
9:插入字段:
两种形式,1)指明字段 2)不指明字段,这种情况下字段名顺序和创建表时候顺序一样。
insert into table_name (field1,field2,...,fieldn) values (value1,value2,...,valuen);
其中(field1,field2,...,fieldn)可选,或者一次输入多条记录
insert into table_name values (value1,value2,...,valuen),(value1,value2,...,valuen),...,(value1,value2,...,valuen);
10:删除表记录:
delete from table_name;
这将产出表中所有记录。也可以使用where子句删除指定行
delete from table_name where field_name = value;
11:更新字段
update table_name set field_name=value; 更改该字段所有值
也可以象delete语句一样使用where子句,这里就不重复了。但要注意的是,可以修改多个字段,如:
update table_name set field_one=ValueOne, fiele_two=ValueTwo where field_name=Value;
要修改的字段之间用逗号分开
12:mysql中可以用的6个比较预算符:
=、>=、、
13:
排序和限制结果集
使用Limit关键字,可以限制结果集中记录个数,该关键字有两个参数,用来指定开始的行位置和要显示行的个数,注意第一行数为0;还可以联合order by使用
Eg:select * from table_name order by desc limit 0,2;
得到最新的两个数据
6月25日更新:
索引
索引:为了加快搜索速度,减少查询执行时间。用来简化查询中定位特定记录的任务。可以很大程度上提高速度。
通过create table语句中添加index修饰符来创建索引,
Eg: create table Stocks (aaa int, bbb int, index a (aaa)); //单个索引
Create table Another(id int not null auto_increment, fname varchar(5) not null, lname varchar(5) not null, index (fname), index (lname), primary key (id)); //多个索引
通过连接所有被索引的字段(最多不能超过15个)创建的多个索引,可以用逗号间隔字段
名来创建,如:
Create table Another(id int not null auto_increment, fname varchar(5) not null, lname varchar(5) not null, index (fname, lname), primary key (id));
添加索引:
Create index index_name on table_name (field_name1,field_name2,…);
对于BLOB TEXT字段可以强制性指定字符个数来为他们添加索引。这可以通过向create
Index 语句中的字段后的圆括号中插入需要的索引长度来实现;
Eg:create index synopsis on books (synopsis(100));
CHAR 和 VARCHAR也可以如此
注意:如果没有指定索引名字,MySQL自动指定相应字段名为索引命名。
删除索引:DROP INDEX INDEX_NAME ON TABLE_NAME;
除了常规索引,MySQL还支持另外两种索引:UNIQUE和FULLTEXT索引。
UNIQUE索引
用来指定输入字段中的值必须是唯一的,也就是不能与其他行重复。
注意:unique字段允许存储NULL值
FULLTEXT索引???????????????????????????????(不理解,哪位明白的给讲讲)
它是为MyISAM表中进行全文检索而特意设计的,称为FULLTEXT索引。可以对纯文本字
符串中已经经过索引的列进行查询,并且只返回那些包含与搜索字符串类似的记录。