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 整数(位数) 输入的数字 ...
随机推荐
- c# 备份数据
#region 备份数据文件 /// <summary> /// 备份数据文件 /// </summary> /// <param name="strFileN ...
- PageHelper
https://pagehelper.github.io/ Mybatis分页插件PageHelper简单使用 SpringBoot之分页PageHelper
- CDH使用Solr实现HBase二级索引
一.为什么要使用Solr做二级索引二.实时查询方案三.部署流程3.1 安装HBase.Solr3.2 增加HBase复制功能3.3创建相应的 SolrCloud 集合3.4 创建 Lily HBa ...
- JavaScript 原型解析
1.什么是对象? javascript中除了null和undefined之外都是Object的实例. 在Javascript中, 每定义一个函数, 将伴生一个原型对象. 原型就是用来为同一类对 ...
- k-anonymity
k匿名(k-anonymity)是一种常用的社交网络隐私保护技术,其思想是通过人为构造一定数量与目标节点拓扑结构相同的节点来降低用户被定位的概率 [匿名]英语怎么说_在线翻译_有道词典 http:// ...
- IOS 工程所支持的版本 设置
如何设置 Base SDK 和 iOS Deployment Target ? http://leopard168.blog.163.com/blog/static/16847184420116159 ...
- spring-boot4代码
App.java package com.kfit; import org.springframework.boot.SpringApplication; import org.springframe ...
- Laravel5.5执行表迁移命令出现表为空的解决方案
今天在使用一个第三方包 laravel-admin 时,出现了这样的错误:SQLSTATE[42000]: Syntax error or access violation: 1103 Incorre ...
- 批量导入oracle 的sql脚本
以下为脚本样例:execute.sql,在PL/sql的command窗口或sqlplus中执行:@目录/execute.sql (以下“目录”需要替换为实际sql所在目录) --执行前需要在目录下新 ...
- interceptors
<mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**"/> <bean ...