增删改查mysql语句

增(在表中插入多行数据)

一次插入多行数据方法一:


insert into mydb.kword(field1,field2,field3) values

(value1,vaule2,value3),

(value1,vaule2,value3);

一次插入多行数据方法二(列都互相对应的情况下。字段名可以省略)

insert into tables_name values

(value1,vaule2,value3),

(value1,vaule2,value3);

删(删除行数据)

delete from table_name where id=1;

改(更新行数据)

update table_name set field1='value1',field2=value2 where id=1

查(查询行数据)

select * from table_name where id>=2;

表管理mysql语句(可以在cmd查看mysql)

选择库:use 库名称;

创建表:mysql数据类型详解,mysql创建表sql语句

查看所有表:show tables;//直接show tables 是分不出哪些是物理表,哪些是视图来的

查看所有表详细信息:show table status G; //后面加一个G,可以纵向显示,不加则横向显示

查看某张表详细信息:show table status where name='表名'  G;//后面加一个G,可以纵向显示,不加则横向显示

查看表结构:desc 表名称;

查看建表过程:show create table 表名称;//查看创建此表的sql语句

查看建视图过程:show create view 视图名;//查看创建此视图的sql语句


删除表:drop table 表名    // DROP TABLE IF EXISTS 表名    (如果存在则删除表)



删除视图表:drop view 视图名称;

改表名:rename table 表名称 to 表新名称;

清空表数据:truncate 表名称;(sqlite无效)//与“delete from 表名称”一样可以达到删除全部数据的效果,但是清空表后,自增id从0开始。而删除数据自增id不会从0开始,相当于删除表后又重建,。比delete速度快。

mysql创建表语句格式:

格式:

create table tablename(

列1    列类型    列属性    默认值,

列2    列类型    列属性    默认值,

列3    列类型    列属性    默认值

)engine=储存引擎 default charset=utf8

//储存引擎可选值与各个值的特点:点击查看

高级查询:limit是mysql的语法

有两个参数:(第一个参数可以省略)

参数一:从结果的第几行开始取

参数二:要取出多少行。

select * from table limit m,n
其中m是指记录开始的index,从0开始,表示第一条记录
n是指从第m+1条开始,取n条。

例:

select * from tablename limit 2,4
即取出第3条至第6条,4条记录


主键与索引


主键:PRIMARY KEY

主键列不重复,能够区分每一行,主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。

声明方法:PRIMARY KEY

方式一:

create table tablename(

id INT(11) PRIMARY KEY,

)

方式二:

create table tablename(

id INT(11),

PRIMARY KEY(id)

)

设置自增:auto_increment

一张表只能有一列为自增,且此列必须加索引(index/key)

create table tablename(

id INT(11) PRIMARY KEY auto_increment,

)

索引概念:

索引是数据的目录,能快速定位行数据在磁盘的位置。

索引提高了查询的速度,降低了增删改查的速度,并非加的越多越好。

一般在查询频率较高的列上加索引,并且重复度低的列上加。

索引:

key 普通索引

unique key 唯一索引

primary key 主键索引

fulltext key 全文索引//全文索引在中文下无效,分词+索引才有效,一般用第三方解决方案,如sphinx

创建表时索引用法:

方式一:

create table tablename(

id INT(11) PRIMARY KEY,

)

方式二:

create table tablename(

id INT(11),

PRIMARY KEY(id)

)

创建表时多列索引用法

create table tablename(

id INT(11),

姓 char(2),

名 char(10),

KEY 姓名(姓,名)

)

索引操作语法:

查看表索引 show index from 表名称;

删除索引 :alter table 表名 drop index 索引名;

             或:drop index 索引名 on 表名;      



mysql表结构的修改,mysql列的增删改查


在列最后增加一个列:

alter table 表名 add 列名称 列类型 列参数;

例:alter table tablename add birth date not null default '0000-00-00';

在某列后面添加列

alter table 表名 add 列名称 列类型 列参数 after 某列

例:alter table tablename add birth date not null default '0000-00-00'  after 某列;

删除某列

alter table 表名 drop 列名

(sqlite不支持删除列,sqlite可以查询原表来创建新表.然后删除旧表 再重命名新表的方式来删除列)

修改某列属性

alter table 表名 modify 列名 新属性

修改某列列名

alter table 表名 change 列名 新列名 属性




其他类



修复语句:

当mysql出现 ismarkedascrashedandshouldberepaired 的时候(索引损坏的时候)

可用下列修复语句来修复

repair table 表名