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基本操作之增删改查的更多相关文章

  1. Batis-iBatis基本操作(增删改查)

    Batis-iBatis基本操作(增删改查) 时间 2014-04-10 17:55:20  CSDN博客 原文  http://blog.csdn.net/mazhaojuan/article/de ...

  2. 使用java对sql server进行增删改查

    import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import ...

  3. 四种简单的sql语句(增删改查语句)

    四种简单的sql语句(增删改查语句) 一.插入语句 insert into [table] ([column],[column],[column]) values(?,?,?) 二.删除语句 dele ...

  4. mysql 的基本操作总结--增删改查

    本文只是总结一下mysql 的基本操作,增删改查,以便忘记的时候可以查询一下 1.创建数据库 语法:CREATE DATABASES 数据库名; 例子: CREATE DATABASES studen ...

  5. dml语句就是你常写的sql语句,增删改查

    dml语句就是你常写的sql语句,增删改查

  6. SQL总结之增删改查

      SQL语句增删改查(总结) 一.增:有2种方法 1.使用insert插入单行数据: 语法:insert [into] <表名> [列名] values <列值> 例:ins ...

  7. 常见 SQL语句使用 增删改查

    一.常见的增删改查(一).查:1.SELECT 列名称 FROM 表名称,其中列名可以是多个,中间用豆号分开,如SELECT LastName,FirstName FROM Persons: 2.SE ...

  8. python连接MySQL pymysql模块,游标,SQL注入问题,增删改查操作

    pymysql模块 pymysql是用python控制终端对MySQL数据库进行操作的第三方模块 import pymysql # 1.连接数据库 client = pymysql.connect( ...

  9. SQL -------- 简单的增删改查

    sql  结构化查询语言,一种ansi 的标准计算机语言,为了访问数据库 可以做什么:可以对数据库 和表进行创建于删除, 对表里面的数据进行增删改查. 也可以创建存储过程和视图,对表设置权限 RDBM ...

随机推荐

  1. Redis的特性及运用

    Redis特性 一个产品的使用场景肯定是需要根据产品的特性,先列举一下Redis的特点: 读写性能优异 持久化 数据类型丰富 单线程 数据自动过期 发布订阅 分布式 这里我们通过几个场景,不同维度说下 ...

  2. 11点睛Spring4.1-Property Editor

    11.1 Propert Editor property editor是JavaBeans API的一项特性,用来字符和属性值之间的互相转换(如2014-03-02和Date类型的互相转换) spri ...

  3. [转帖]是什么阻止了在18寸(450mm)晶圆上生产芯片?

    是什么阻止了在18寸(450mm)晶圆上生产芯片? https://news.cnblogs.com/n/644247/ 投递人 itwriter 发布于 2019-10-16 14:32 评论(0) ...

  4. 分布式系统领域的 CAP 定理

    C 为数据一致性: A 为服务可用性: P 为服务对网络分区故障的容错性. 这三个特性在任何分布式系统中都不能同时满足,最多同时满足两个.

  5. 【坑】关于springMvc对JSON日期绑定,得到的日期后面多个时间的问题

    文章目录 前言 Mysql的Date() 后记 前言 当我们翻过 解决springMvc对JSON日期绑定 眼前这座大山以后,发现并没有 IG 的荣光在等着我们,反而有个大坑在等着我们.... 比如博 ...

  6. Python14之字符串(各种奇葩的内置方法)

    一.字符串的分片操作 其分片操作和列表和元组一样 str1 = 'keshengtao' str1[2:6] 'shen' str1[:] 'keshengtao' str1[:4] 'kesh' 二 ...

  7. 考试应对(Java语法速览)

    1.从命令行输入数据 格式:Scanner reader=new Scanner(System.in); 此reader对象可以使用的方法:nextBoolean(),nextByte(),nextS ...

  8. python学习-60 面向对象设计

    面向对象设计 1.三大编程范式 --面向过程编程 --函数式编程 --面向对象编程 2.编程进化论 --编程最开始就是无组织无结构,从简单控制流中按步写指令 --从上述的指令中提取重复的代码快或逻辑, ...

  9. 多进程实现并发服务器(TCP)

    前提:基于Linux系统的学习 /*多进程实现并发服务器 父进程任务 1.从未决连接队列中取出请求,建立和客户端的连接,cfd 2.创建子进程 3.close(cfd) 4.负责子进程的收尸工作 子进 ...

  10. html使用网络图片防盗问题解决

    解决mkdocs图片防盗问题 前言 我在mkdocs上的图片是使用博客园上的,部署后无法正常显示.度娘了一下,只用在<head>后插入<meta name="referre ...