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之创、增、删、改、查的更多相关文章

  1. Mysql基本操作语句 增-删-改-查

    增 INSERT INTO 表名(属性名1,属性名2) VALUES(值1,值2) 删 DELETE FROM <表名> [WHERE 子句] [ORDER BY 子句] [LIMIT 子 ...

  2. 好用的SQL TVP~~独家赠送[增-删-改-查]的例子

    以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化.  本系列主要是针对T-SQL的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础] ...

  3. iOS FMDB的使用(增,删,改,查,sqlite存取图片)

    iOS FMDB的使用(增,删,改,查,sqlite存取图片) 在上一篇博客我对sqlite的基本使用进行了详细介绍... 但是在实际开发中原生使用的频率是很少的... 这篇博客我将会较全面的介绍FM ...

  4. iOS sqlite3 的基本使用(增 删 改 查)

    iOS sqlite3 的基本使用(增 删 改 查) 这篇博客不会讲述太多sql语言,目的重在实现sqlite3的一些基本操作. 例:增 删 改 查 如果想了解更多的sql语言可以利用强大的互联网. ...

  5. django ajax增 删 改 查

    具于django ajax实现增 删 改 查功能 代码示例: 代码: urls.py from django.conf.urls import url from django.contrib impo ...

  6. ADO.NET 增 删 改 查

    ADO.NET:(数据访问技术)就是将C#和MSSQL连接起来的一个纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中 也可以将数据库中的数据提取到内存中供程序调用 ADO.NET所有数据访 ...

  7. MVC EF 增 删 改 查

    using System;using System.Collections.Generic;using System.Linq;using System.Web;//using System.Data ...

  8. python基础中的四大天王-增-删-改-查

    列表-list-[] 输入内存储存容器 发生改变通常直接变化,让我们看看下面列子 增---默认在最后添加 #append()--括号中可以是数字,可以是字符串,可以是元祖,可以是集合,可以是字典 #l ...

  9. Go语言之进阶篇mysql增 删 改 查

    一.mysql操作基本语法 1.创建名称nulige的数据库 CREATE DATABASE nulige DEFAULT CHARSET utf8 COLLATE utf8_general_ci; ...

  10. day 37-8 关于mysql 的增 删 改 查 及联合列表

    1      VARCHAR : 字符串的意思 (括号内的数字代表尾数) 输入的字符串在这个范围内都行 CHAR  :字符串的意思(区别就有几位数字 必须写几位) INT   整数(位数) 输入的数字 ...

随机推荐

  1. T-SQL高级查询语句(父子查询)

    T-SQL高级查询语句 高级查询 1.连接查询,对结果集列的扩展 select * from info select * from info,nation #形成笛卡尔积 select * from ...

  2. EasyNVR实现海康、大华NVR硬盘录像机Web无插件播放方案(支持取特定时间段视频流)

    本文转自:https://blog.csdn.net/black_3717/article/details/79872725 背景说明: 由于视频自身的直观性和便利性,对于传统安防行业,摄像机的直播和 ...

  3. RTSP Windows专用播放器EasyPlayer : 稳定、兼容、高效、超低延时

    EasyPlayer RTSP Windows专用播放器 EasyPlayer RTSP Windows 播放器是由EasyDarwin团队开发和维护的一个完善的RTSP流媒体播放器项目,视频编码支持 ...

  4. EasyNVR无插件IPC摄像机直播方案前端构建之:区分页面是自跳转还是分享依据

    区分分享还是跳转 对于前端一些页面的展示,通常有两种方式:通过入口链接一步步进入,或是通过分享链接直接进入:对于这两种方式的区别是什么?在进行前端书写时又应该如何处理? 以EasyNVR为例来进行说明 ...

  5. c++ get the pointer from the reference

    int x = 5; int& y = x; int* xp = &x; int* yp = &y; xp is equal to yp. 也就是说,直接对reference取 ...

  6. Optimizer in SQL - Catalyst Optimizer in Spark SQL

    SELECT sum(v) FROM (    SELECT score.id, 100+80+score.math_score+ score.english_score AS v    FROM p ...

  7. FastJson 技术

    最近开始做淘宝的开放平台.阿里巴巴FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部分,它具备如下特征: 速度最快,测试表明,fastjson具有极快的性能,超越任其他的Jav ...

  8. 多线程(三) iOS中的锁

    锁的类别:互斥锁,递归锁,条件锁,自旋锁等 锁的实现方式:NSLock,NSRecursiveLock, NSConditionLock,@synchronized,GCD的信号量等 下面说一下常用的 ...

  9. 【Leetcode-easy】Longest Common Prefix

    思路:每次从字符数组中读取两个字符串比较.需要注意输入字符串为空,等细节. public String longestCommonPrefix(String[] strs) { if(strs==nu ...

  10. UVA11077 Find the Permutations —— 置换、第一类斯特林数

    题目链接:https://vjudge.net/problem/UVA-11077 题意: 问n的全排列中多有少个至少需要交换k次才能变成{1,2,3……n}. 题解: 1.根据过程的互逆性,可直接求 ...