连接mysql的语法

mysql -u用户名 -p密码 [-h主机名] [-P端口号]
在一个mysql服务器中, 可以有多个mysql数据库(本质是一个文件夹)
在一个mysql数据库中, 可以有多个数据库表(本质是一个二进制文件)
在一个mysql表中, 可以有多条记录(数据)

SQL语法

1. 分号结尾

2. 不区分大小写

3. 注释:

-- ,#,/* */

语句分类

DDL 数据定义语言:定义数据库结构, 表结构

DML 数据操作语言:增删改

DQL 数据查询语言:查询

DCL 数据控制语言:用户维护, 权限管理, 安全操作. 一般由DBA完成

DDL:操作数据库、表

数据库操作 CRUD :

create增:

-- 直接创建数据库 db1
CREATE DATABASE db1;
-- 判断是否存在,如果不存在则创建数据库 db2并指定字符集为 gbk
CREATE DATABASE IF NOT EXISTS DB2 DEFAULT CHARACTER SET GBK;

drop删:

-- 删除数据库db1的语法
DROP DATABASE db1;

alter改:

-- 将 db2数据库的字符集改成 utf8
ALTER DATABASE db2 CHARACTER SET utf8;

SELECT查:

-- 查看正在使用的数据库
SELECT DATABASE();

show看:

-- 查看数据库db2的定义信息
SHOW CREATE DATABASE db2;

desc显示表结构:

use换:

-- 改变要使用的数据库
USE db4;

表相关操作:

建表语句:

create table 表名(列的列表);
CREATE TABLE Aniki(
NAME VARCHAR(20),
age INT,
sex CHAR(1),
old_saying VARCHAR(100),
insert_time TIMESTAMP
);

datetime和timestamp的区别?

格式一样的. timestamp不允许为null, 即使指定为null ,也会设置一个默认值, 就是当前系统时间.

字符串类型(必须指定长度)varchar和char的区别?

varchar(20) char(20),varchar是可变长度字符串, 指定的长度是该字符串的最大长度.
char是定长的字符串, 指定的长度就是字符串最终的长度, 如果指定的字符串长度不足, 用空格补齐.

DML:增删改表中数据

插入语句:

insert into 表名 (列的列表) values(值的列表);
INSERT INTO Aniki (NAME,age,sex,old_saying,insert_time) VALUES ('Van', 20, '♂','DeepDarkFantasy',NULL);
INSERT INTO Aniki (NAME,age,sex,old_saying,insert_time) VALUES ('Bili', 20, '♂','乖乖站好',NULL);

删除语句:

delete from 表名 where 条件
DELETE FROM aniki WHERE NAME='Van';

delete 和 truncate的区别?

  1. delete是DML, 而truncate是DDL. DML可以通过事务管理进行回滚, DDL不能被事务管理.
  2. delete 效率低, 是逐行删除. truncate效率非常高.

    修改语句:

    update 表名 set 列名1 = 值1, 列名2 = 值2... where 条件
    UPDATE aniki SET sex='男' WHERE NAME='Bili';

DQL:查询表中的记录

基础查询
多个字段的查询
select 字段名1,字段名2... from 表名;
注意:
如果查询所有字段,则可以使用*来替代字段列表。
去除重复:distinct
select distinct ... from ... where ... group by... having ... order by ... limit ...
distinct去重, 只是把结果集中的重复记录去除.

计算列:
一般可以使用四则运算计算一些列的值。(一般只会进行数值型的计算)
ifnull(表达式1,表达式2):null参与的运算,计算结果都为null
表达式1:哪个字段需要判断是否为null
如果该字段为null后的替换值。
ifnull()函数替换null值为指定值.


起别名:
as:as也可以省略

条件查询

where子句后跟条件
运算符

、< 、<= 、>= 、= 、<>
BETWEEN...AND
IN( 集合)
IS NULL
and 或 &&
or 或 ||
not 或 !

LIKE:模糊查询

占位符:
%: 任意(0个或者多个)多个任意字符
_: 一个任意字符, 有且只有一个.

MySQL数据库基本操作以及SQL语句的更多相关文章

  1. MySQL数据库-表操作-SQL语句(二)

    1. MySQL多表查询 1.1 外键约束 为了消除多张表查询出现的笛卡尔积的现象,MySQL在建表并进行多表之间的关键查询可以使用外键关联查询. 外键:从表1(sub)的某列引用(ref)另外一个表 ...

  2. MySQL数据库-表操作-SQL语句(一)

    1. 数据库操作与存储引擎 1.1   数据库和数据库对象 数据库对象:存储,管理和使用数据的不同结构形式,如:表.视图.存储过程.函数.触发器.事件等. 数据库:存储数据库对象的容器. 数据库分两种 ...

  3. mysql数据库之基础SQL语句/语法

    SQL是现在进入互联网工作人们的必须技能之一,下面分享自己觉得很nice的SQL基本语句,从网上找了,觉得很不错,就分享给大家!简要介绍基础语句: 1.说明:创建数据库  Create DATABAS ...

  4. MySQl数据库必会sql语句加强版

    这篇承接上一篇<mysql必会sql语句>:http://blog.csdn.net/qq_32059827/article/details/51763950 这一篇属于加强版,问题和sq ...

  5. MySQL数据库(一)—— 数据库介绍、MySQL安装、基础SQL语句

    数据库介绍.MySQL安装.基础SQL语句 一.数据库介绍 1.什么是数据库 数据库即存储数据的仓库 2.为什么要用数据库 (1)用文件存储是和硬盘打交道,是IO操作,所以有效率问题 (2)管理不方便 ...

  6. 通过MyEclipse工具直接操作数据库,执行sql语句,方便快捷

    原文:通过MyEclipse工具直接操作数据库,执行sql语句,方便快捷 通过MyEclipse操作数据库,执行sql语句使我们不用切换多个工具,直接工作,方便快捷.效果如下: 步骤1:通过MyEcl ...

  7. 如何用VS EF连接 Mysql,以及执行SQL语句 和存储过程?

    VS2013, MySQL5.7.18 , MySQL5.7.14 执行SQL语句: ztp_user z = new ztp_user(); object[] obj = new object[] ...

  8. MySQL数据库(增删改查语句)

    MySQL数据库(增删改查语句)一.登录数据库:---->  mysql -uroot -proot;(对应用户名和密码)二.SQL语句:    数据定义语言DDL  用来定义数据库.表.列,关 ...

  9. 【转】MySQL用户管理及SQL语句详解

    [转]MySQL用户管理及SQL语句详解 1.1 MySQL用户管理 1.1.1 用户的定义 用户名+主机域 mysql> select user,host,password from mysq ...

随机推荐

  1. B/S架构和C/S架构介绍

    一.C/S架构 C/S架构及其背景 C/S架构是一种比较早的软件架构,主要应用于局域网内.在这之前经历了集中计算模式,随着计算机网络的进步与发展,尤其是可视化工具的应用,出现过两层C/S和三层C/S架 ...

  2. spring boot 热部署devtools实现(成功,主要是添加依赖后配置setting)

    1.devtools spring为开发者提供了一个名为spring-boot-devtools的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot ...

  3. 解决如何通过循环来使用数据库的值设置jsp的select标签的option值

    Select 处的代码: <select name="position"> <span style="white-space:pre"> ...

  4. Dataphin数据服务系列之--API 配置、管理和消费

    研发小哥哥还在为公司里大量 API 只上不下,不可查不可用, 想找的 API 找不到而苦恼吗?业务方小姐姐还在为 API 开发时间长,业务相应不及时而抱怨吐槽吗? 铛铛铛,Dataphin 数据服务 ...

  5. AshMap如何让hash保持一致

    学Java的都知道hashMap的底层是“链表散列”的数据结构也也可以说是hash表.在put的实话先根据key的hashcode重新计算hash值的,而我们又知道hash是一种算法.所以哈希码并不是 ...

  6. 使用kindeditor直接粘贴本地图片或者是qq截图

    我司需要做一个需求,就是使用富文本编辑器时,不要以上传附件的形式上传图片,而是以复制粘贴的形式上传图片. 在网上找了一下,有一个插件支持这个功能. WordPaster 安装方式如下: 直接使用Wor ...

  7. Codeforces 842C--Ilya And The Tree(dfs+树)

    原题链接:http://codeforces.com/contest/842/problem/C 题意:一个以1为根节点的树,每个节点有一个值ai,定义美丽度:从根节点到这个节点的路径上所有ai的gc ...

  8. 【Java】遍历Map<String,String>

    Map<String, String> map = new HashMap<>(); map.put("key1", "value1") ...

  9. LVS负载均衡中arp_ignore和arp_annonuce参数配置

    先简单的介绍下关于LVS负载均衡 LVS(Linux  Virtual Server)Linux服务器集群系统 针对高可伸缩,高可用服务的需求,给予IP层和内容请求分发的负载均衡调度解决方法,并在Li ...

  10. LOJ 2555 「CTSC2018」混合果汁——主席树

    题目:https://loj.ac/problem/2555 二分答案,在可以选的果汁中,从价格最小的开始选. 按价格排序,每次可以选的就是一个前缀.对序列建主席树,以价格为角标,维护体积和.体积*价 ...