Ⅰ 数据库增删改查的基本命令
以下是总结的mysql的常用语句,欢迎指正和补充~
一、创建库,删除库,使用库
1.创建数据库:create database 库名;
2.删除数据库:drop database 库名;
3.使用数据库:use 库名;
二、创建数据表
1.创建表语句:create table 表名(字段名1 字段类型 字段约束,字段2 字段类型 字段约束...);
2.创建与现有表一样字段的新表:create table 表名 like 已有表名;
3.将查询结果创建新表:create table 表名 select * from 现有表 where...(查询语句);
三、查看表结构,查看建表语句,删除表
1.查看表结构:desc 表名;
2.查看建表语句:show create table 表名;
3.删除表:drop table 表名;
四、修改表结构
1.对数据表重命名:alter table 表名 rename 新表名;
2.增加字段:alter table 表名 add 字段名 字段类型 字段约束; (PS:可用first/after函数调整字段位置)
3.删除字段:alter table 表名 drop 字段名;
4.修改字段类型及约束:alter table 表名 modify 字段名 新类型 新约束;(PS:如不加新约束,会将建表时的约束清空,主键、外键、唯一约束除外)
5.修改字段名称:alter table 表名 change 字段名 新字段名 新字段类型 新约束条件;
6.修改数据库引擎:alter table 表名 engine=;(PS:主要有InnoDB和MyISAM,InnoDB对经常修改表数据友好,MyISAM对经常查询表友好)
7.增加主键:alter table 表名 add primary key(字段名);
8.删除主键:alter table 表名 drop primary key;
9.增加外键:alter table 表名 add constraint 外键名 foreign kek(字段名) references 主表(主键);
10.删除外键:alter table 表名 drop foreign key 外键名;
11.删除唯一约束:alter table 表名 drop index 字段名;
12.设置自动增长的初始位置:alter table 表名 auto_increment=n;
五、向表中插入数据
1.向表指定字段插入多条数据:insert into 表名(字段1,字段2...) values(数据1,数据2...),(数据1,数据2...),(数据1,数据2...),(数据1,数据2...);
2.将查询结果插入表:insert into 表名 select 字段名 from 表名(查询语句);
3.加载外部数据到表:Load data local infile ‘数据路径’Into table 表名 Fields terminated by ‘分隔符’Ignored 1 lines;
六、更新表数据、删除表数据
1.更改满足条件的字段数据:update 表名 set 字段计算1,字段计算2... where 条件;
2.删除满足条件的数据:delele from 表名 where 条件;
3.删除所有数据:方式一:delete from 表名; 方式二:truncate table 表名; 方式一会逐条进行删除,速度较慢,方式二直接删除,速度快;另外对自增字段,方式一不能重置自增字段的初始位置,方式二可以重置自增字段的其实位置;
Ⅱ 删除数据库中一行数据id解决自增
不会,自增是独立于数据表存在的,你可以理解为它是一个单独的序列函数,每次insert的时候去这个函数取一下当前的值。该函数只增不减,永远加1。
所以,如果你删除了数据表中的一行记录,那么这个id就再也不存在了。
如果你这时候想要填充这个id也不是没办法。你需要先停止id的自增操作,然后手工insert带所需id的数据,然后再启动自增。
Ⅲ mysql数据库主键设置了自增,但是,我把删除了一些数据,随后加的数据为什么会自增ID会接着已经删除了的
这是数据库主键自增的固然性质所决定的,数据删除后,主键还是会继续增加的,即主键使用过一次将不会再次使用。
例如:这个表中有10条数据,主键为1-10不间断的数字,那删除第十条数据,继续插入的话,id则会变成11,而不是10。通俗的说就是主键使用过一次将不会再次使用。
每次插入则不需要为主键设置参数,数据库会根据设置的递增条件,自动给出主键值。则第一次插入后主键为1,第二次为2,依次递增。
(3)数据库自增删除扩展阅读:
Mysql、SqlServer主键自动增长的设置方法:
1、在mysql中把主键定义为自动增长标识符类型
如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值。例如:
create table customers(id int auto_increment primary key not null, name varchar(15));insert into customers(name) values("name1"),("name2");
2、在MS SQLServer中,如果把表的主键设为identity类型,数据库就会自动为主键赋值。例如:
create table customers(id int identity(1,1) primary key not null, name varchar(15));insert into customers(name) values("name1"),("name2");identity包含两个参数,第一个参数表示起始值,第二个参数表示增量。
Ⅳ 数据库问题:删除自增的字段后会怎样
在SQL中删了就是删了,就是说没有这条记录了。不会再不上那个11了。如果要取的话,你不要根据userid从1~100来取,而是用select top 100 ……来取,这样的话不管你中间删了几个,他取的还是100个。
Ⅳ mysql数据库如何消除自增列的自增功能
在数据库管理那里编辑自增列属性,取消勾选自增
Ⅵ 如何删除数据库主键自动增长
不能删除数据库中有自动增长的主键的表,其原因是这个表与其它表之间建立有“关系”。必须将“关系”删除后才能删除表。至于“关系”的定义以及删除的方法可以参考Access帮助。
Ⅶ Mysql 自增id,其中一些被删除后,再添加内容这个自增id还是继续下去
是正确的。删除了就不会连续,SQL不保证自增字段必须连续的,如果需要必须连续,不能使用自增字段,要手动计算id
Ⅷ SQL自增字段,有数据删除后,如何实现自增字段的连续
对于自增字段确实有这个问题,也无法改变,这是由于自增字段的值是内部计算,每使用一次都会自动+1,有点类似线序,你可以使用如下两种方法解决:
1、自增字段改为不用手工增加,每次都取最大值+1来存储
2、不改自增字段类型,采用逻辑删除的方法,比如在表中增加一个字段isdel(1表示已删除,0或者其它值表示没有删除),记录当前记录是否属于删除状态,
Ⅸ 如何在Access数据库中删除自增的ID列,如何设置主键
1、首先在电脑中打开Access带有数据的表,进入页面后点击设计选项卡,如下图所示。