以下是总结的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 表名; 方式一会逐条进行删除,速度较慢,方式二直接删除,速度快;另外对自增字段,方式一不能重置自增字段的初始位置,方式二可以重置自增字段的其实位置;
一般用触发器来实现,也可以通过设置代理的方法实现:
如果在SQL Server 里需要定时或者每隔一段时间执行某个存储过程或3200字符以内的SQL语句时,
可以用管理->SQL Server代理->作业来实现。
1、管理->SQL Server代理->作业(按鼠标右键)->新建作业->
2、新建作业属性(常规)->名称[自定义本次作业的名称]->启用的方框内是勾号->
分类处可选择也可用默认的[未分类(本地)]->所有者默认为登录SQL Server用户[也可选其它的登录]->
描述[填写本次工作详细描述内容];
[ 创建作业分类的步骤:
SQL Server代理->作业->右键选所有任务->添加、修改、删除 ]
3、新建作业属性(步骤)->新建->步骤名[自定义第一步骤名称]->类型[Transact-SQL(TSQL)脚本]->
数据库[要 *** 作的数据库]->命令
[ 如果是简单的SQL直接写进去即可,也可用打开按钮输入一个已写好的sql文件
如果要执行存储过程,填 exec p_procedure_name v_parameter1,[ v_parameter2…v_parameterN]
] ->确定
(如果有多个步骤,可以再次调用下面的新建按钮;也可以对已有的多个步骤插入、编辑、删除);
4、建作业属性(调度)->新建调度->名称[自定义调度名称]->启用的方框内是勾号->调度->反复出现->
更改[调度时间表]->确定
(如果只要保存此作业,不要定时做可以把启用的方框内是勾号去掉);
5、建作业属性(通知)->用默认的通知方法就好[当作业失败时,写入Windows应用程序系统日志] ->确定。
删除记录的语法是:delete from table_name where condition
例如:delete from students where name="zhangsan"
删除的办法是执行truncat方法,只是不需要每次手动的输入truncate命令进行删除。
通过sql命令的方式生成所有的truncate语句并写入到.sql脚本文件中,然后执行脚本即可完成删除 *** 作,并且保留了表结构。
生成truncate命令的sql语句为:
SELECTCONCAT('TRUNCATETABLE',TABLE_NAME,';')FROMinformation_schema.TABLESWHERETABLE_SCHEMA='test'intooutfile'/tmp/truncate_test.sql';。
然后将生成的.sql脚本拷贝到当前文件夹下面:
mv/tmp/truncate_test.sql$current_dir/。
然后执行.sql脚本将数据库中所有表中数据删除:
source$current_dir/truncate_test.sql。
注意:
在进行select....intooutfile...... *** 作时,默认只能将文件写入到tmp路径下,可以不用将tmp文件夹下面的.sql脚本移动到当前文件夹下,直接在tmp路径下执行.sql脚本即可。
扩展资料:
常见的删除数据库表中数据的方法是通过delete或者truncate的方法进行删除 *** 作,如果删除的是表中某一条或者部分数据的话适合用delete *** 作进行删除,如果要删除表中所有的数据的话,适合是同truncate进行删除 *** 作。
如果不需要保留数据库中所有表的结构,那么答案很简单,执行命令dropdatabase数据库名即可达到目的。
但是如果需要保留该数据库中所有表的结构,只想删除所有表中的数据,多执行几次truncate可以达到。
参考资料:
删除语句的基本结构为
DELETE FROM 表名称 WHERE 列名称 = 值
如果筛选条件多余一列的时候可以使用 AND或OR将条件连接起来
例如有一张Person表,如下图所示
要删除lastName为Willson的则
Delete from Person where lastName='Willson';
执行该语句后,Willson这条记录将会被删除。
一些常用的SQL语句:
SELECT - 从数据库表中获取数据
UPDATE - 更新数据库表中的数据
DELETE - 从数据库表中删除数据
INSERT INTO - 向数据库表中插入数据
CREATE DATABASE - 创建新数据库
ALTER DATABASE - 修改数据库
CREATE TABLE - 创建新表
ALTER TABLE - 变更(改变)数据库表
DROP TABLE - 删除表
CREATE INDEX - 创建索引(搜索键)
DROP INDEX - 删除索引
以上就是关于数据库增删改查的基本命令全部的内容,包括:数据库增删改查的基本命令、如何自动删除数据库表里的数据、数据库中怎么删除表中的记录等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)