1、MYSQL数据库简介

MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。

2、常用数据类型

数值型:TINYINT,SMALLINT,INT,BIGINT,FLOAT,DOUBLE,DECIMAL(M,D)

字符型:CHAR,VARCHAR,TINYTEXT ,TEXT ,LONGTEXT

日期型:DATETIME ,DATE,TIMESTAMP

3、常用SQL语句

(0)MySql注释
单行注释:
  # 到该行结束
-- 到该行结束 (注意:使用“--”时,一定要在“--”后加一个空格)
多行注释:
 /* 行中间或多个行 */ 
(1)显示所有的数据库
show databases;
(2)删除数据库
drop database IF EXISTS dbname;
(3)创建数据库
drop database IF EXISTS dbname;
create database dbname;
(4)选择数据库
use dbname;
(5)显示当前使用数据库中所有的表
show tables;
(6)删除表
drop table IF EXISTS tbname;
(7)创建表
(7.1)常用方法:
use dbname;
drop table IF EXISTS tbname;
create table tbname(
`id` int(10) unsigned NOT NULL auto_increment,  #unsigned  无符号,即为非负数,用此类型可以增加数据长度!
`user_name` varchar(60) NOT NULL default '',
`email` varchar(60) NOT NULL default '',
`user_money` decimal(10,2) NOT NULL,
`birthday` date NOT NULL default '0000-00-00',
`content` text,
PRIMARY KEY  (`id`),
UNIQUE KEY `user_name` (`user_name`),
KEY `email` (`email`)                           #KEY 普通索引,可以提升查询效率
);
(7.2)通过子查询建表,使用这种方式建表会将数据也备份到新表中
-- 部分列名匹配模式:
drop table IF EXISTS tbname2;
create table tbname2 (
t_name varchar(20),
t_email char

as 
select user_name, email from tbname;
-- 上面的列名和子查询的列名以及类型要对应,不对应时会出错!

-- 全部列名模式:
drop table IF EXISTS tbname3;
create table tbname3
as
select * from tbname;
-- 直接将整个表的字段类型和数据备份到新表tbname3中

(8)修改表
(8.1)重命名表
alter table tbname rename to tbuser;
(8.2)重命名字段
alter table tbuser change user_name u_name varchar(50);
alter table tbuser change user_money u_money decimal(10,2);
注:如果需要改变列名建议使用change,如果需要改变数据类型和显示位置可以使用modify
(8.3)增加字段
-- 增加单个字段
alter table tbuser add u_tel char(15) DEFAULT '12345678';
-- 增加多个字段
alter table tbuser add(
u_qq char(12),
u_photo varchar(30)
);
(8.4)修改字段
-- 修改单个字段
alter table tbuser modify u_tel varchar(15) default '053100000000';
-- 修改单个字段的位置,在第一列显示
alter table tbuser modify u_tel varchar(15) default '053100000000' first;
-- 修改单个字段的位置,在指定字段之后显示
alter table tbuser modify u_tel varchar(15) default '053100000000' after id;
-- 注意:alter modify不支持一次修改多个列,但是Oracle支持多列修改
-- 但是MySQL可以通过多个modify的方式完成:
alter table tbuser 
modify u_tel varchar(15) default '053100000000' after u_money, 
modify u_name varchar(20) after u_tel;
(8.5)删除表中指定的字段
alter table tbuser drop content;
(9)添加数据INSERT INTO
-- 插入一条记录
INSERT into tbuser VALUES(null,11.11,'053112345678','phper','phper@163.com','2000-00-00','111111','\upload\12345.jpg');

-- 为指定列插入数据
insert into tbuser (u_name,email) values('happy','happy@163.com');

-- 使用SET方式插入数据
insert into tbuser set u_name = 'sky',email = 'sky@163.com';
-- 使用子查询插入数据
insert into tbuser (u_name,email) select t_name,email from tbtest;
-- 一次插入多条数据
insert into tbuser (u_name,email) values('moon','moon@163.com'),('grubby','grubby@163.com');
(10)修改数据UPDATE
-- 修改表中所有数据
update tbuser set birthday = '1990-00-00',u_money=666.66;
-- 修改指定条件的记录
update tbuser set birthday = '1985-00-00' where u_name = 'sky';
(11)删除数据DELETE
-- 删除所有数据
delete from tbuser;
-- 删除指定条件数据
delete from tbuser where id < 5;
-- truncate删除表中所有数据,比DELETE执行速度快,但truncate不能指定条件删除数据
truncate tbuser;
(12)查询SELECT
(12.1)查询表中所有数据
select * from tbuser;
(12.2)查询指定列和条件的数据
select u_name,email from tbuser where id >= 2;
(12.3)distinct 去掉重复的数据
select distinct birthday from tbuser;
-- 去掉多列组合的重复数据
select distinct u_tel,birthday from tbuser;
(12.4)where条件查询
-- 算术比较 >、<、=、>=、<= 
select * from tbuser where id<=7;
-- 复合条件查询 and、or、not
select * from tbuser where id<=7 and u_name='sky';
--  between min and max查询:大于等于min且小于等于max
select * from tbuser where id between 2 and 6; 
-- 查询是否为NULL:is null、is not null
SELECT * from tbuser where u_qq is not null;
-- in 查询
select * from tbuser where u_name in ('sky','fly','th000');
-- like 模糊查询:
-- _代表一个字符
select * from tbuser where u_name like '__y';
-- %代表任意多个字符
-- escape转义,指定某个字符为转义字符,如:
select * from tbuser where u_name like 'a_%' escape 'a';  -- 指定a为转义字符,上面的就可以查询name中包含"_"的数据
(12.5)对查询的结果进行算术运算
select u_money+20,u_money/3 from tbuser;
(12.6)concat函数,字符串连接
select concat(u_name,'先生') from tbuser;
(12.7)起别名
select t.u_name as '姓名' from tbuser as t;    -- 给表"tbuser" 起别名为 "t",给列名u_name起别名为“姓名”。AS可以省略,效果一样。
(12.8)使用 LIMIT 属性来设定返回的记录数。
 LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。初始记录行的偏移量是 0(而不是 1)。
select * from tbuser limit 3,4;  -- 返回第4-7行数据
select * from tbuser limit 3;    -- 返回查询结果的前三条数据
select * from tbuser limit 3,100000000000000;  -- 返回从某个偏移量到结果集合的末端之间的所有的行,您可以对第二个参数是使用比较大的数
(12.9)排序ORDER BY
-- 升序,默认为升序
SELECT * FROM TBUSER ORDER BY u_name ASC;
-- 降序
SELECT * FROM TBUSER ORDER BY u_name DESC;
-- 多列组合
SELECT * FROM TBUSER ORDER BY birthday,u_name,id DESC;
简洁、清晰的MySql教程:http://www.w3cschool.cc/mysql/mysql-tutorial.html
详细、全面的MySql手册(官方英文版):http://dev.mysql.com/doc/
详细、全面的MySql 5.1 手册(中文版)下载地址:

MYSQL数据库简介和常用的基本SQL语句相关推荐

  1. 【数据库】sqlite3常用命令及SQL语句

    [数据库]sqlite3数据库备份.导出方法汇总 一.准备工作 0.安装SQLite3 1)ubuntu命令安装(不是最新版本) sudo apt install sqlite3 2)源码安装(可以安 ...

  2. MySQL数据库中的索引(含SQL语句)

    文章目录 为什么要用索引 索引是什么 索引的原理 优点 缺点 创建索引的原则 什么情况下需要索引 什么情况下不需要索引 索引的分类 主键索引 单值索引 唯一索引 组合索引(复合索引) 全文索引(仅在M ...

  3. python操作mysql数据库一次执行多条SQL语句

    当我们进行接口自动化后会造成许多表造成数据,一条一条删除就得一次又一次的连接数据库~~~废话不多说,直接上干货 导入第三方库的方法 from pymysql.constants import CLIE ...

  4. MySQL数据库简介数据库介绍

    MySQL数据库简介 一.数据库介绍 (一)数据库相关概念 数据库是"按照数据结构来组织.存储和管理数据的仓库".是一个长期存储在计算机内的.有组织的.有共享的.统一管理的数据集合 ...

  5. JavaWEB01:MySQL基础——数据库相关概念、MySQL安装和配置、基础的SQL语句

    JavaWEB01:MySQL基础--数据库相关概念.MySQL安装和配置.基本的SQL语句 JavaWEB02:MySQL高级--约束.数据库设计.多表查询.事务 JavaWEB03:JDBC Ja ...

  6. MySQL数据库基础:安装+登入+SQL操作语句+数据库授权、备份、恢复+其他操作

    MySQL简介 MySQL最流行的RDBMS(关系型数据库系统),特别是在WEB应用方面,表现特点 数据以表格的形式出现 每行为各种记录名称 每列为记录名称所对应的数据域 许多的行和列组成一张表单 若 ...

  7. 【信息化】MySQL数据库简介

    1 什么是数据库? 简单的说,数据库(英文Dtabase)就是一个存放数据的仓库,这个仓库是按照一定的数据结果(数据结构是指数据的组织形式或数据之间的联系)来组织.存储的.我们可以通过数据库提供的多种 ...

  8. db2 mysql sql server_下文给大家介绍mysql数据库介绍,具体详情如下所示:MySQL数据库:Oracle、DB2、SQL Server、MySQL、access、mang...

    下文给大家介绍mysql数据库介绍,具体详情如下所示: MySQL 数据库: Oracle.DB2.SQL Server.MySQL.access.mangodb.bigtable 关系型数据库 大型 ...

  9. java的mysql语句规范_常用的标准SQL 语句

    1.创建数据库的语句如下: Create database databaseName 上述语句创建一个名字叫 databaseName 的数据库 2.删除数据库的语句如下. Drop database ...

最新文章

  1. 《人类简史》作者:巨变将至!数据决定你未来是什么物种
  2. python 微服务 etcd_python etcd api
  3. 崚 不能被 iconv(gb2312,utf-8 ,string)
  4. 浅谈非数学类全国大学生数学竞赛
  5. 如何复制Google云端硬盘文件夹
  6. 下载优酷视频 基于python2
  7. Python模拟Tim登录界面
  8. EXCELL XLToolbox科研作图插件
  9. 永远等你先挂电话[ZZ]
  10. java输入长宽高计算表面积_设计一个C语言程序计算长方体体积和表面积,长宽高通过键盘输入?????...
  11. Gremlin-常用查询语句用法
  12. 【历史上的今天】4 月 23 日:YouTube 上传第一个视频;数字音频播放器的发明者出生
  13. Android 隐私合规API检查方案
  14. 牛客练习赛91A~D
  15. 用Multisim实现彩灯循环控制器
  16. Appium:获取Android设备手机屏幕分辨率
  17. 基于Simulink的QAM调制解调系统仿真
  18. ASEMI-A7二极管和M7二极管有什么区别
  19. 宝塔Linux面板使用一键迁移插件实现网站快速搬家图文教程
  20. Facebook Shop和Facebook Marketplace如何选择?

热门文章

  1. elasticsearch6.8 基础查询类型(must、must_not、should、filter)
  2. Prometheus监控案例之blackbox-exporter
  3. 五个信号说明体内湿寒
  4. 某程序员吐槽:为了家庭天天996,却发现妻子出轨,孩子才三岁,该不该原谅?...
  5. 宿舍服务器延迟高解决方法(校园网)
  6. 工作七年,我明白的这些道理
  7. 用计算机画中点和角平分线,计算机图形学作业(中点法画直线和八分画圆法)
  8. 开发智能语音机器人所需要的Freesiwtch VAD识别模块参数
  9. img标签-srcset属性
  10. 快速p掉多余内容ps修改ps去人物ps改图ps视频教程学习