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

  1. 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

  1. 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. 《JAVASCRIPT 高级程序设计》读书笔记六 面向对象的程序设计

    一   对象属性 a.对象定义: 无序属性的集合,其属性可以包含基本值.对象或者函数: b.两种创建方式: 1.构造函数: var person = new Object(); person.name ...

  2. 自动化单元测试工具 EvoSuite 的简单使用 【转载】

    转载:https://www.cnblogs.com/hughding/p/evosuite.html 一.EvoSuite简介 EvoSuite是由Sheffield等大学联合开发的一种开源工具,用 ...

  3. python 输入一个字符串,打印出它所有的组合

    import itertools str = input('请输入一个字符串:') lst = [] for i in range(1, len(str)+1): lst1 = [''.join(x) ...

  4. rgba()和opacity之间的区别(面试题)

    rgba()和opacity之间的区别: 相同点:rgba()和opacity都能实现透明效果: 不同点:opacity作用于元素,以及元素中所有的内容: rgba()只用于于元素的颜色,及背景色: ...

  5. Python中的算数运算

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

  6. Docker简介以及操作

    Docker 简介 Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目.它基于 Google 公司推出的 Go 语言实现. 项目后来加入了 Linu ...

  7. BeautifuSoup的使用

    BeautifulSoup是一个模块,该模块用于接收一个HTML或XML字符串,然后将其进行格式化,之后遍可以使用他提供的方法进行快速查找指定元素,从而使得在HTML或XML中查找指定元素变得简单.

  8. Java核心技术及面试指南 数据库方面的面试题归纳以及总结

    5.1.7.1 事务的四大特性是什么? ⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚. ⑵ 一致性(Consistency) 一致性是指事务必须使数据库 ...

  9. OAuth2.0介绍

    OAuth2.0介绍 OAuth2.0简介 四种许可类型 2.1. 授权码许可(Authorization Code) 2.2. 隐式许可(Implicit) 2.3. 资源拥有者密码凭据许可(Res ...

  10. 比较 Spring AOP 与 AspectJ

    本文翻译自博客Comparing Spring AOP and AspectJ(转载:https://juejin.im/post/5a695b3cf265da3e47449471) 介绍 如今有多个 ...