MySQL之创、增、删、改、查
MySQL
Select version(); 当前服务器版本
Select database(); 查看当前工作数据库
Show databases; 显示所有数据库
Select user(); 或 select current_user(); 当前用户
Select curdate(); 或 select current_date(); 当前日期
Select curtime(); 或 select current_time(); 当前时间
Select now(); 或 select current_timestamp(); 显示系统时间当前日期+时间
Show engines; 显示当前数据库服务器支持的存储引擎
Show charset; 查看当前服务器所支持的字符集,
数据类型:
数字:整数:tinyint, smallint, mediumint, int, bigint,
小数:decimal(p,s) create table t(t decimal(4,2));
字符串:定长char(),, 变长varchar() 变长文本text 大文本(0-4G)longtext, enum() (枚举)
日期类型date 日期时间类型datetime 二进制
1)创建数据库 > CREATE DATABASE ** ;
2)显示所有数据库: >show databases;
3)删除数据库> DROP DATABASE **;
4)选择要用的数据库 Show databases; USE **;
查看包含的表 SHOW TABLES; 当选择完数据库后,此命令等同于下:Show tables from **;
另:显示表格show tables from mydb(数据库名);
显示表结构: >desc mydb.tablename; 等价于:>show columns from mydb.tablename ;
CREATE DATABASE IF NOT EXISTS aa DEFAULT CHARACTER SET utf8; 判断aa是否存在,不存在就建立,并设定aa编码为utf8.
CREATE TABLE <表名> (<列名><数据类型> [列级完整性约束条件]
[,<列名><数据类型> [列级完整性约束条件]]…
[,<表级完整性约束条件>]);
例如:建立学生信息表Create table products( id char(20) not null,
price float default 0.01,
constraint primary key (id) );
注:列级约束条件有两个任选项:
NOT NULL,表示此列不得置NULL,在其后还可加UNIQUE任选项,表示列值不得重复。
DEFAULT,当此列的值空缺时,填以缺省值
主关键字约束指定表的一列或几列的组合的值在表中具有惟一性,即能惟一地指定一行记录。每个表中只能有一列被指定为主关键字,且IMAGE 和TEXT 类型的列不能被指定为主关键字,也不允许指定主关键字列有NULL 属性。
CREATE TABLE dd(
id INT(6) UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT, 自增长
sname VARCHAR(20), sgender ENUM('1','0','secret'), 枚举选择项
PRIMARY KEY(id)
)ENGINE= MYISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; 从5开始增,默认utf-8
建表
CREATE TABLE students(
sno INT UNSIGNED NOT NULL AUTO_INCREMENT,
sname VARCHAR(20) NOT NULL,
sgender ENUM('1','0'),
sage TINYINT UNSIGNED NOT NULL,
sbirthday DATETIME,
saddress VARCHAR(50),
sscore DECIMAL(4,1),
PRIMARY KEY(sno)
)ENGINE=MYISAM AUTO_INCREMENT=200901 DEFAULT CHARSET=utf8;
增
insert into students values(null,'李四','1',18,'2000-1-18','郑州',82);
insert into students values(null,'zz','0',16,'2003-1-18','上海',68.9);
insert into students values(NULL,'李1','1',17,'2000-1-18','郑州',85),(null,'李3','0',19,'2000-1-18','郑州',78);
信息不全,插入单独几列信息,
insert INTO students(sname,sage) values('Jack',18),('Andy',20),('chu',17);
把查询结果,再插入数据,
INSERT INTO students(sname,sgender,sage,sbirthday,saddress,sscore) SELECT sname,sgender,sage,sbirthday,saddress,sscore FROM students;
删
DELETE FROM students WHERE sno=200918;
DELETE FROM students ; -- 无条件删除所有记录。
TRUNCATE TABLE students; -- 直接清空数据表,全部删除,auto_increment 从新分配,很少用
改
replace into students (sname,sage) VALUES('A',18),('B',20);
REPLACE INTO students VALUES (200917,'YEAR','0',18,'2001-5-5','GUANGZHOU',77.68);
UPDATE students SET sscore=79,sname='张111',sbirthday='2001-8-8',saddress='shenzhen' WHERE sno=200902;
UPDATE students SET sscore=0 WHERE sscore IS NULL; -- 得分为空的,修改为0分,与下面均不一样
UPDATE students SET sscore=0 WHERE sscore='';
UPDATE students SET sscore=0 WHERE sscore=NULL;
查
查看数据信息
SELECT * FROM students;
SELECT sname 姓名,sscore 成绩,saddress 家庭地址 FROM students;
SELECT * FROM students WHERE sscore!=78;
SELECT * FROM students WHERE sscore<>78;
SELECT * FROM students WHERE NOT sscore=78;
SELECT * FROM students WHERE sscore BETWEEN 80 AND 90;
SELECT * FROM students WHERE sbirthday BETWEEN '2001-1-1' AND '2010-1-1';
SELECT * FROM students WHERE saddress='郑州 ';
SELECT * FROM students WHERE sname LIKE '李_'; /*like中,_代表任意1个字符,号*/
SELECT * FROM students WHERE sname LIKE '%1%'; /*like中,%代表任意0个或多个任意符号*/
SELECT * FROM students WHERE sno NOT IN (200917,200925); /* in 表示在括号内的项,。还有 not in 就是除了 */
SELECT * FROM students WHERE sscore IS NOT NULL;
SELECT * FROM students GROUP BY sname ORDER BY sno ASC, sscore ASC,sno DESC
/*GROUP BY用来将结果按列名的值进行分组,该属性列值相等的元组为一组,,ORDER BY将结果表按列名的值升序ASC或降序DESC排序*/
SELECT COUNT(sno) AS 人数,MIN(sscore) AS 最低分, MAX(sscore) AS 最高分,AVG(sage) AS pingjunnianling FROM students;
SELECT 姓名, Year(Date())-Year(出生年月) AS 年龄 FROM Students
SELECT sname,COUNT(*) AS 人数 FROM students GROUP BY sname; 可得重名的名字和人数
修改表名,修改dd为student
RENAME TABLE dd TO student;
增加列,即字段,即维度删除列
ALTER TABLE tbl_name [ADD<新列名><数据类型>[完整性约束]]
[DROP<列名><完整性约束名>]
[MODIFY<列名><数据类型>];
ADD用于增加新列和新的完整性约束条件,新增加的列一律为空值。(index, primary key等)
DROP用于删除指定的完整性约束条件(index,primary key, foreign key)
MODIFY用于修改原有的列定义
ALTER TABLE student ADD sscore TINYINT;
ALTER TABLE student ADD saddress VARCHAR(100) AFTER sname;
ALTER TABLE student DROP COLUMN sscore ;
ALTER TABLE student DROP saddress;
ALTER TABLE suser MODIFY nii INT;
复制一个表结构(字段),的两种方法:
CREATE TABLE stu LIKE students; 只复制一个表结构(字段)
CREATE TABLE stu2 SELECT * FROM students; 相当于复制一份。数据都在
MySQL之创、增、删、改、查的更多相关文章
- Mysql基本操作语句 增-删-改-查
增 INSERT INTO 表名(属性名1,属性名2) VALUES(值1,值2) 删 DELETE FROM <表名> [WHERE 子句] [ORDER BY 子句] [LIMIT 子 ...
- 好用的SQL TVP~~独家赠送[增-删-改-查]的例子
以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化. 本系列主要是针对T-SQL的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础] ...
- iOS FMDB的使用(增,删,改,查,sqlite存取图片)
iOS FMDB的使用(增,删,改,查,sqlite存取图片) 在上一篇博客我对sqlite的基本使用进行了详细介绍... 但是在实际开发中原生使用的频率是很少的... 这篇博客我将会较全面的介绍FM ...
- iOS sqlite3 的基本使用(增 删 改 查)
iOS sqlite3 的基本使用(增 删 改 查) 这篇博客不会讲述太多sql语言,目的重在实现sqlite3的一些基本操作. 例:增 删 改 查 如果想了解更多的sql语言可以利用强大的互联网. ...
- django ajax增 删 改 查
具于django ajax实现增 删 改 查功能 代码示例: 代码: urls.py from django.conf.urls import url from django.contrib impo ...
- ADO.NET 增 删 改 查
ADO.NET:(数据访问技术)就是将C#和MSSQL连接起来的一个纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中 也可以将数据库中的数据提取到内存中供程序调用 ADO.NET所有数据访 ...
- MVC EF 增 删 改 查
using System;using System.Collections.Generic;using System.Linq;using System.Web;//using System.Data ...
- python基础中的四大天王-增-删-改-查
列表-list-[] 输入内存储存容器 发生改变通常直接变化,让我们看看下面列子 增---默认在最后添加 #append()--括号中可以是数字,可以是字符串,可以是元祖,可以是集合,可以是字典 #l ...
- Go语言之进阶篇mysql增 删 改 查
一.mysql操作基本语法 1.创建名称nulige的数据库 CREATE DATABASE nulige DEFAULT CHARSET utf8 COLLATE utf8_general_ci; ...
- day 37-8 关于mysql 的增 删 改 查 及联合列表
1 VARCHAR : 字符串的意思 (括号内的数字代表尾数) 输入的字符串在这个范围内都行 CHAR :字符串的意思(区别就有几位数字 必须写几位) INT 整数(位数) 输入的数字 ...
随机推荐
- NDK以及C语言基础语法(二)
一.字符串类:(属于类类型) -String (在C++中才有) 使用之前必学引入String 类型: 引入String头文件(系统的头文件): #include <string> p ...
- cmake policy
1 cmake policy是什么? cmake policy可以理解为cmake的语法标准,也就是说,它规定了cmake在解析CMakeLists.txt文件时的行为. 2 cmake policy ...
- 题解 P3389 【【模板】高斯消元法】
题解 P3389 [[模板]高斯消元法] 看到大家都没有重载运算符,那我就重载一下运算符给大家娱乐一下 我使用的是高斯-约旦消元法,这种方法是精度最高的(相对地) 一句话解释高斯约旦消元法: 通过加减 ...
- Java异步编程第2篇
假如如今有一个Buttonbutton,Buttonbutton上有click和doubleclick事件. 两个不同的事件须要进行不同的处理.这时候就须要为对应的事件注冊Listener了.改动后的 ...
- .htaccess技巧: URL重写(Rewrite)与重定向(Redirect) (转)
目录 Table of Contents 一.准备开始:mod_rewrite 二.利用.htaccess实现URL重写(rewrite)与URL重定向(redirect) 将.htm页面映射到.ph ...
- 【zabbix】微信告警消息模版
下面给出了一个zabbix微信告警消息的模版, 消息最后加上#号和短横线的设计有两个原因: 1,zabbix的微信告警消息总是被截断,比如最后一个告警时间,如果没有最后一行#号,在微信上看的时候时间不 ...
- springmvc fastjson 反序列化时间格式化
第一种情况是从后台拿到数据,进行反序列化,反序列化格式时间:试了一下很多网上的方法,最后发现还是在实体类上面的日期字段加上如下注解,可以完成格式化操作,否则默认就都是时间戳的格式: @JSONFiel ...
- 爬虫之重要的requests模块
一 . requests模块 什么是requests模块 requests模块是python中原生的基于网络请求的模块,其主要作用是用来模拟浏览器发起请求.功能强大,用法简洁高效.在爬虫领域中占据着半 ...
- IOS AFNetWorking 设置超时时间
(原创经验总结) 1.关于AF 超时的说法 系统默认的timeInterval 是60s ASI默认是10s 但是有一个说法是 AF “AFN在GET条件下设置的NSURLRequest能起作用, ...
- POJ题目算法分类总结博客地址
http://blog.csdn.net/sunbaigui/article/details/4421705 又从这个地址找了一些:http://blog.csdn.net/koudaidai/art ...