在终端或命令行中和数据库软件建立连接

mysql -uroot -p

数据库相关SQL

  • 查看所有数据库

    show databases;
  • 创建数据库

    create database 数据库名;

    create database db1;
  • 查看数据库详情

    show create databse 数据库名;

    show create database db1;
  • 创建数据库指定字符集

    create database 数据库名 character set utf8/gbk;

    create database db2 character set gbk;
  • 删除数据库

    drop database 数据库名;

    drop database db1;
  • 使用数据库

    use 数据库名;

    use db1;

表相关的SQL 前提需要使用了某个数据库

  • 查询所有表 show tables;

  • 创建表

  • create table 表名(字段1名 字段1类型,字段2名 字段2类型);

    create table person(name varchar(10),age int);

  • 查看表详情

    show create table person;

  • 表引擎:

    innodb:支持数据库的高级操作包括:事务、外键等

    myisam:只支持数据基础的增删改查操作

  • 创建表指定引擎和字符集

    create table 表名(字段1名 字段1类型,字段2名 字段2类型) engine=myisam/innodb charset=utf8/gbk;

    create table t1(name varchar(10),age int) engine=myisam charset=gbk;

  • 查看表字段

    desc 表名;

    desc hero;

  • 删除表

    drop table 表名;

    drop table hero;

  • 修改表名

  • rename table 原名 to 新名;

    create table t1(name varchar(10));

    rename table t1 to t2;

  • 修改表引擎和字符集

    alter table 表名 engine=myisam/innodb charset=utf8/gbk;

    alter table t2 engine=myisam charset=gbk;

  • 添加表字段

    -- 最后面添加格式: alter table 表名 add 字段名 字段类型;

    -- 最前面添加格式: alter table 表名 add 字段名 字段类型 first;

    -- xxx后面添加格式: alter table 表名 add 字段名 字段类型 after xxx;

    alter table t2 add age int;

    alter table t2 add sal int first;

    alter table t2 add id int after name;

  • 删除表字段

    alter table 表名 drop 字段名;

    alter table t2 drop id;

  • 修改字段名和类型

    alter table 表名 change 原名 新名 新类型;

    alter table t2 change sal salary varchar(10);

  • 修改字段类型和位置

    alter table 表名 modify 字段名 新类型 first/after xxx;

    alter table t2 modify salary int after age;

数据相关的SQL

  • 插入数据

    insert into 表名 values (值1,值2,值3);

    insert into person values(1,'Tom',20);

    insert into 表名 (字段1,字段2) values(值1,值2);

    insert into person (id,name) values(2,'Jerry');
  • 查询数据

    select 字段信息 from 表名 where 条件;
  • 修改数据

    update 表名 set 字段名=值,字段名=值 where 条件;
  • 删除数据

    delete from 表名 where 条件;

中文乱码问题

通过在终端中执行 set names gbk;

主键约束

  • 什么是主键:用于表示数据唯一性的字段称为主键
  • 什么是约束: 就是创建表的时候给字段添加的限制条件
  • 主键约束: 插入数据必须是唯一且非空的

主键约束+自增

  • 自增数值只增不减
  • 从历史最大值基础上+1

注释

  • 对表的字段进行描述

    create table t3(id int primary key auto_increment comment '主键字段',name varchar(10) comment '这是姓名');

is null 和 is not null

别名

select ename as '姓名',sal as '工资' from emp;

select ename '姓名',sal '工资' from emp;

select ename 姓名,sal 工资 from emp;

去重 distinct

select distinct job from emp;

mysql基础整理01的更多相关文章

  1. MySQL基础整理(一)之SQL基础(未完成)

    大家好,我是浅墨竹染,以下是MySQL基础整理(一)之SQL基础 1.SQL简介 SQL(Structure Query Language)是一种结构化查询语言,是使用关系模型的数据库应用语言. 2. ...

  2. MySQL基础篇(01):经典实用查询案例,总结整理

    本文源码:GitHub·点这里 || GitEE·点这里 一.连接查询 图解示意图 1.建表语句 部门和员工关系表: CREATE TABLE `tb_dept` ( `id` int(11) NOT ...

  3. MySql基础整理

    http://hovertree.com/menu/mysql/ use abccs;select * from mytable2 limit 3,4;call sp_name1(1,@nn);sel ...

  4. mysql基础整理02

    比较运算符 > < = >= <= !=和<> !=和<>都是一个意思,都是不等于的意思 and和or and 并且&& 需要同时满足多 ...

  5. Mysql 经典案例总结(学习之前需要有Mysql基础)01

    Sql 经典案例 gb 4.2 ** 1 检索记录 (1) 主要介绍 Sql的基本SELECT查询语句 使用 SELECT * from 表 查询数据 查询该表的每一列数据 * 代表所有的意思 也可以 ...

  6. 01 mysql 基础一 (进阶)

    mysql基础一 1.认识mysql与创建用户 01 Mysql简介 Mysql是最流行的关系型数据库管理系统之一,由瑞典MySQLAB公司开发,目前属于Oracle公司. MySQL是一种关联数据库 ...

  7. mysql基础知识语法汇总整理(二)

    mysql基础知识语法汇总整理(一) insert /*insert*/ insert into 表名(字段列表) values(值列表); --蠕虫复制 (优点:快速复制数据,测试服务器压力) in ...

  8. mysql基础知识语法汇总整理(一)

    mysql基础知识语法汇总整理(二)   连接数据库操作 /*连接mysql*/ mysql -h 地址 -P 端口 -u 用户名 -p 密码 例如: mysql -u root -p **** /* ...

  9. 重新整理 mysql 基础篇————— 介绍mysql[一]

    前言 准备整理mysql的基础篇了,前面整理了sql语句序列的的<sql 语句系列(八百章)>,感觉很多用不上,就停下来了,后续还是会继续整理. mysql 基础篇主要是对一些基础进行整理 ...

随机推荐

  1. 一次java Cpu占用过高的排查

    某一个项目CPU占用率一直很高,经常在40%-50%之间,最近比较闲,就开始了排查工作. 1.通过 jstack命令输出进程的堆栈信息 jstack 2788 >C:\log.txt 将堆栈信息 ...

  2. 两种经典电商CSS布局

    圣杯布局和双飞翼布局! 两种布局功能相同,都是为了实现两端宽度固定,中间宽度自适应的三栏布局 圣杯布局: 三个区域都处于左浮动状态,并使main的宽度成父容器的100% 为两侧侧边栏添加负margin ...

  3. JavaScript之DOM对象的获取

    之前我们讲过JavaScript之DOM对象获取的两篇文章,本文是该系列文章之三,点击回顾上两篇文章能更好地理解本文.<JavaScript之DOM对象的获取(一)>: <JavaS ...

  4. Python中的算数运算

    算数运算符 计算机,顾名思义就是负责进行 数学计算 并且 存储计算结果 的电子设备 目标 算术运算符的基本使用 01. 算数运算符 算数运算符是 运算符的一种 是完成基本的算术运算使用的符号,用来处理 ...

  5. iReport 5.6.0 安装包下载&安装

    iReport 5.6.0 下载 方式有两种: 1.在官网社区上下载,下载地址:https://community.jaspersoft.com/project/ireport-designer/re ...

  6. 解决svn图标不显示(绝对有用)

    经常遇到svn图标不显示的问题,然后经过长时间的查找终于找到了一个最最管用的办法,在这里分享给的大家

  7. ASP.NET Core 如何在运行Docker容器时指定容器外部端口(docker compose)

    前面我写了一系列关于持续集成的文章,最终构建出来的镜像运行之后,应该会发现每次构建运行之后端口都变了,这对于我们来说是十分不方便的,所以我们可以通过修改docker compose的配置文件来完成我们 ...

  8. mysql 开发进阶篇系列 19 MySQL Server(innodb_flush_log_at_trx_commit与sync_binlog)

    一. innodb_flush_log_at_trx_commit 这个参数名称有个log,一看就是与日志有关.是指:用来控制缓冲区(log buffer)中的数据写入到日志文件(log file), ...

  9. js变量提升与函数提升的详细过程

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...

  10. Java并发编程之AQS

    一.什么是AQS AQS(AbstractQueuedSynchronize:队列同步器)是用来构建锁或者其他同步组件的基础框架,很多同步类都是在它的基础上实现的,比如常用的ReentrantLock ...