sql基本操作之增删改查
1. 显示数据库 show databases;
show databases;
2. 显示当前数据库、用户和版本
select current_database(); # hive select database(); #mysql select user(); #显示当前用户
select version(); #版本
3. 创建/删除数据库
create database db_name;
drop database db_name;#删除数据库
4. 选择某个数据库
use db_name;
5. 显示当前数据库下的表
show tables;
6. 创建表 create table
create table if not exists my_test(
id INT UNSIGNED AUTO_INCREMENT,
name_people VARCHAR(40) NOT NULL,
submission_time DATETIME,
PRIMARY KEY(id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
7. 描述表结构DESC或者DESCRIBE、show columns from
DESC my_test;
SHOW COLUMNS FROM my_test; #显示表结构

8. 插入数据 insert into
INSERT my_test(
id,
name_people,
submission_time
)
VALUES
(1, 'Mary', NOW());
9 .查询 select
select * from my_test;
select name_people from my_test;
select name_peole from my_test where id=1;

10. 删除一条记录 delete
delete from my_test where id=1;
11. 删除表中的所有记录,但是保存原来的表结构
delete from my_test;
12. 更新表的某一列 update
UPDATE my_test SET name_people = '陛下' WHERE id=1
13. 更新多列数据,用 ',' 逗号隔开
UPDATE my_test SET name_people = '将军', submission_time = NOW() WHERE id=1
14. 增加新列 alter,然后update
ALTER table my_test add name_adress VARCHAR(50) not null;
update my_test set name_adress='北京';

15. 复制另一张表的数据和表结构,来新建表 create,使用as关键词
CREATE TABLE my_test_copy AS SELECT * FROM my_test;
SELECT * from my_test_copy;

16. 删除表
drop table table_name;
17. 增加主键,需要先删除原来的主键,否则会报错:[Err] 1068 - Multiple primary key defined
#增加主键
alter table my_test add phone_number VARCHAR(30) not null;
update my_test set phone_number=123456789;
alter table my_test add primary key (phone_number); #[Err] 1068 - Multiple primary key defined,需要先删除原来的主键
18. 删除主键,删除主键出现:[Err] 1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key
alter table my_test drop primary key;
#一般的error:[Err] 1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key
# 表示自增列只能有1列,且这列必须为key,也就是建表的时候,如果是自增列,必须用primary key标识
# 例如:
create table if not exists my_test(
id INT UNSIGNED AUTO_INCREMENT,
name_people VARCHAR(40) NOT NULL,
submission_time DATETIME,
PRIMARY KEY(id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
#出现错误的原因是:主键是自增属性,不能直接删除
19. 建立一个新表,但是主键不设置为自增属性,然后就可以删除主键
create table if not exists my_test_key(
id INT UNSIGNED,
name_people VARCHAR(40) NOT NULL,
submission_time DATETIME,
PRIMARY KEY(id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT my_test_key(
id,
name_people,
submission_time
)
VALUES
(1, 'Tom', NOW()); show keys from my_test_key; #显示主键 alter table my_test_key drop primary key; show keys from my_test_key; #显示主键

20. 建立索引 create index
create index index_one on my_test_key(submission_time);

21. 建立唯一索引 create unique index
create unique index index_two on my_test_key(name_people);

22. 显示索引 show index
show index from my_test_key; #显示索引,my_test_key属于表名
23. 显示主键 show keys
show keys from my_test_key; #显示主键,my_test_key属于表名
24. 删除索引 drop index
drop index index_one on my_test_key;
alter table my_test_key drop index index_two;
#欢迎交流
sql基本操作之增删改查的更多相关文章
- Batis-iBatis基本操作(增删改查)
Batis-iBatis基本操作(增删改查) 时间 2014-04-10 17:55:20 CSDN博客 原文 http://blog.csdn.net/mazhaojuan/article/de ...
- 使用java对sql server进行增删改查
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import ...
- 四种简单的sql语句(增删改查语句)
四种简单的sql语句(增删改查语句) 一.插入语句 insert into [table] ([column],[column],[column]) values(?,?,?) 二.删除语句 dele ...
- mysql 的基本操作总结--增删改查
本文只是总结一下mysql 的基本操作,增删改查,以便忘记的时候可以查询一下 1.创建数据库 语法:CREATE DATABASES 数据库名; 例子: CREATE DATABASES studen ...
- dml语句就是你常写的sql语句,增删改查
dml语句就是你常写的sql语句,增删改查
- SQL总结之增删改查
SQL语句增删改查(总结) 一.增:有2种方法 1.使用insert插入单行数据: 语法:insert [into] <表名> [列名] values <列值> 例:ins ...
- 常见 SQL语句使用 增删改查
一.常见的增删改查(一).查:1.SELECT 列名称 FROM 表名称,其中列名可以是多个,中间用豆号分开,如SELECT LastName,FirstName FROM Persons: 2.SE ...
- python连接MySQL pymysql模块,游标,SQL注入问题,增删改查操作
pymysql模块 pymysql是用python控制终端对MySQL数据库进行操作的第三方模块 import pymysql # 1.连接数据库 client = pymysql.connect( ...
- SQL -------- 简单的增删改查
sql 结构化查询语言,一种ansi 的标准计算机语言,为了访问数据库 可以做什么:可以对数据库 和表进行创建于删除, 对表里面的数据进行增删改查. 也可以创建存储过程和视图,对表设置权限 RDBM ...
随机推荐
- Python第一阶段01
1.变量: name = "sisi" print(name) age = print(age) 2.常量: PIE = 3.1415926 3.注释: # password = ...
- LODOP指定window默认打印机和临时默认打印机
通过以下语句,可指定windows默认打印机LODOP.SET_PRINT_MODE("WINDOW_DEFPRINTER",某打印机名或序号);这种默认打印机是指的windows ...
- vue-cli3使用vue-router 使用动态路由,在刷新页面时报错
刚发现的一个问题,在使用vue-cli3创建项目之后,使用动=动态路由,demo: { path: '/aa/:id', name: 'aa', component: aa }, 编程式路由: thi ...
- 时空卷积网络TCN
1.写在前面 实验表明,RNN 在几乎所有的序列问题上都有良好表现,包括语音/文本识别.机器翻译.手写体识别.序列数据分析(预测)等. 在实际应用中,RNN 在内部设计上存在一个严重的问题:由于网络一 ...
- Centos 更改MySQL5.7数据库目录位置
原文地址:https://blog.csdn.net/zyw_java/article/details/78512285 Centos7.3 安装Mysql5.7并修改初始密码 基于 CentOS M ...
- 2019.12.12 Java的多线程&匿名类
Java基础(深入了解概念为主) 匿名类 定义 Java匿名类很像局部或内联系,只是没有明细.我们可以利用匿名类,同时定义并实例化一个类.只有局部类仅被使用一次时才应该这么做. 匿名类不能有显式定义的 ...
- [转帖]LINUX下使用rinetd端口转发
LINUX下使用rinetd端口转发 https://www.iteye.com/blog/lvinie-1167701 . 本来想自己写一下 发现没必要. 并且原作者提供了pan.baidu.com ...
- [WinForm] - 关闭应用时 "has stopped working" 之解决
背景 关闭 WinForm 应用出现 "has stopped working" 错误. Windows 日志 Faulting application name: PcClien ...
- Java常用命令:jps、jstack、jmap、jstat(带有实例教程)
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u013310517/article/details/80990924 查看Java进程:jps ...
- Python学习路线2019升级版(课程大纲+视频教程+网盘资源下载)
2019最新Python全栈+人工智能学习路线升级版 全面涵盖前端.后端.爬虫.数据挖掘.人工智能等课程(课程大纲+视频教程+网盘资源下载)! 学习路线四大亮点: 1.人工智能三大主流框架全覆盖 2. ...