连接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. QT中视图(setViewport)和窗口(setWindow) 小总结

    参考博客: https://blog.csdn.net/weixin_39583140/article/details/92798127 https://blog.csdn.net/u01244271 ...

  2. python3 内置函数enumerate

    一.简介: 该函数在字面上是枚举.列举的意思,用于将一个可遍历的数据对象(如列表.元组或字符串)组合为一个索引序列, 同时列出数据和数据下标,一般用在 for 循环当中,可同时得到数据对象的值及对应的 ...

  3. “TypeError: list indices must be integers or slices, not str”有关报错解决方案

  4. Leetcode_897. Increasing Order Search Tree

    题目:https://leetcode.com/problems/increasing-order-search-tree/ 题意: 将一棵二叉搜索树,重排为一棵递增的二叉排序树. 解法1: rson ...

  5. 【Java】使用Lambda排序集合

    下面是Java lambda表达式的简单例子: // 1. 不需要参数,返回值为 5 () -> 5 // 2. 接收一个参数(数字类型),返回其2倍的值 x -> 2 * x // 3. ...

  6. 【BZOJ2946&SPOJ1812】公共串(后缀自动机)

    题意:给出几个由小写字母构成的单词,求它们最长的公共子串的长度. 单词的数量<=5,单词的长度至少为1,最大为2000. 思路: #include<bits/stdc++.h> us ...

  7. Buuctf | BUU LFI COURSE 1

    跟着赵师傅学CTF,这里是我的学习记录 ?file=/flag ?file=/var/log/nginx/access.log :包含ngnix的日志记录 在user-agent里面插入 :bbbbb ...

  8. [CSP-S模拟测试]:Lost My Music(凸包)

    题目描述 小$w$在天堂看到了一棵世界树.世界树上有$n$个节点,其中$1$节点为根,每个节点有一个正整数权值$c_i$.现在小$w$想要对每个节点$u$求出它的祖先$v$中$\frac{c_v-c_ ...

  9. 使用Microsoft.Practices.Unity 依赖注入

    Unity是微软Patterns & Practices团队所开发的一个轻量级的,并且可扩展的依赖注入(Dependency Injection)容器,它支持常用的三种依赖注入方式:构造器注入 ...

  10. 题解 P1033 【自由落体】

    太坑人了 这不是明摆着坑那些没有学完初中物理的同学们 QAQ 首先这个题其实就是转换一下参照系. 由原先小车向小球靠拢换成小车静止,小球向着小车靠拢(原点设置成车右下角那个点). 然后就成了平抛运动. ...