mysql基础整理01

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

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;
原文地址:https://www.cnblogs.com/Libbo/p/10482130.html