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

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. Hadoop集群及基本组件搭建

    本人采用一个master和两个slave的网络结构,具体搭建如下 1.准备安装包 1.下载安装包 http://pan.baidu.com/s/1jIoZulw 2.安装包清单 scala-2.12. ...

  2. Monad Explained in One Picture

    The point of Monad is composability. In the green category, T -> Monad<U> and U -> Monad ...

  3. pwnable.kr详细通关秘籍(二)

    i春秋作家:W1ngs 原文来自:pwnable.kr详细通关秘籍(二) 0x00 input 首先看一下代码: 可以看到程序总共有五步,全部都满足了才可以得到flag,那我们就一步一步来看 这道题考 ...

  4. FFmpeg 学习(三):将 FFmpeg 移植到 Android平台

    首先需要去FFmpeg的官网http://www.ffmpeg.org/去下载FFmpeg的源码,目前的版本号为FFmpeg3.3(Hilbert). 下载的文件为压缩包,解压后得到ffmpeg-3. ...

  5. 机器学习入门08 - 表示法 (Representation)

    原文链接:https://developers.google.com/machine-learning/crash-course/representation/ 机器学习模型不能直接看到.听到或感知输 ...

  6. 性能瓶颈之Source

    数据源的瓶颈通常发生从数据库读取数据的时候,原因通常如下: 1) 脚本的查询效率低下 2) 数据库网络包太小 如何判定源瓶颈 通过在session log中读取thread statistics判定源 ...

  7. DFA算法实现关键字查找(正则原理入门)

    前言:一直都这样认为“正则表达式是一个很有用的技能”,从一开始的磕磕绊绊的使用和摸索,到后来可以得心应手,这个过程离不来平时的不断学习和思考

  8. Intellij IDEA神器居然还有这些小技巧

    概述 Intellij IDEA真是越用越觉得它强大,它总是在我们写代码的时候,不时给我们来个小惊喜.出于对Intellij IDEA的喜爱,我决定写一个与其相关的专栏或者系列,把一些好用的Intel ...

  9. centos 7 linux系统默认ftp安装配置和部署(详细讲解)

    小生接触 Linux 系统时间不长,想解决linux系统ftp安装及部署问题,折腾了大半天,终于弄出来了,将各路高手的配置方法综合了一下,如有不对之处,欢迎各位看客指正,感谢! 一.声明: 本文采用操 ...

  10. leetcode — merge-intervals

    import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util. ...