MySQL数据库 | 数据库和数据表的基本操作

第一篇博文,一个小小的纪念仪式^-^

以下正文

一、数据库的基本操作

--数据库的操作

  --连接数据库
  mysql -uroot -p密码
  mysql -uroot -pmysql

  --退出数据库
  exit
  quit
  ctrl + d

  --查看所有数据库
  show databases;

  --*显示时间
  select now();

  --*显示版本
  select version();

  --创建数据库(建库时如果不指定编码,默认使用latin)
  create database 数据库名称 编码方式
  create database pysql charset=utf8;


  --查看新建的数据库(注意数据库名称后不能加编码方式)
  show create database pysql;

  --删除数据库(注意如果有“-”存在,可能会被认为是两个部分,所以可以 `py-1`,“`”是tab上方的点)
  drop database 数据库名称
  drop database pysql;

  --使用数据库
  --use 数据库名称
  use pysql;
  --显示Database changed表示使用成功

  --查看当前使用的数据库
  select database();

 

 二、数据表的基本操作

--数据表的操作

  --查看当前数据库中所有的表
  show tables;

  --创建数据表
    --auto_increment 自动增长
    --not null 不能为空
    --primary key 表示主键
    --default 设置默认值
  --create table 数据表名称 (字段 类型 约束, 字段 约束 类型)
  create table students(id int, name varchar(30));
  --添加约束(顺序随意)
  create table students2(id int primary key not null auto_increment, name varchar (30));
  --实际开发中,可以采用换行增加可读性
  create table students2(
      id int primary key not null auto_increment,
      name varchar (30)
  );

  --查看表结构
  --desc 表名称
  desc students;

  --建表流程
  --创建students数据表(id name age high gender cls_id)
  create table students1(
      id int unsigned not null auto_increment primary key,
      name varchar(20),
      age tinyint unsigned default 0,
      high decimal(5,2),
      gender enum("男","女","保密") default "保密",
      cls_id int unsigned
  );
--查看表的创建语句【注1】
--show create table 表名;
show create table students;

--修改表-添加字段
--alter table 表名 add 列名 类型;
alter table students add birth datetime;

--修改表-修改字段:不重命名版(即更改类型/约束)
--alter table 表名 modify 列名 类型及约束;
alter table students modify birth date;

--修改表-修改字段:重命名版
--alter table 表名 change 原名 新名 类型及约束;
alter table students change birth birthday date default "2008-01-01"; --默认值可加可不加

--修改表-删除字段
--alter table 表名 drop 列名;
alter table students drop high;

--删除数据表(忘记这个命令就好了)
--drop table 表名;
--drop database 数据库名称;
drop table xxx;

--增加数据
--要与之前的字段一一对应(注意插入日期时要加引号)
--不然会显示1998对于birthday是一个Incorrect date value,我是改了好几次时间才知道终端帮我做了减法...)
insert into students values (0,"小明", 18, "男", 1, "2000-01-01");

--显示表中所有内容
select * from students;

 

 

三:几点说明

(一)注

注1:

1 表名
2 字段 通常用` `括起来
3 指定主键
4 auto_increment=2 说明下次的值为2(auto_increment这个变量的值为2),并不是每次增加2

(二) 关于MySQL

1.输入MySQL命令时,不用担心换行的问题,即命令可以分成多行写
2.命令语句大小写不敏感
3.sql语句需要以分号;结尾
4.出现Query OK 即命令生效;出现Eorror为出现错误
5.int 可以是0~225(unsigned)或-128~127(signed)
6.约束选取的原则:够用就行
7.--在MySQL命令中会以注释形式被理解,所以写到命令中也莫得关系

(三) 本文零碎知识点备忘

1> decimal(5,2) --小数类型,一共5位,其中有两位小数
2> enum("男","女","保密") --枚举类型,之后输入的必须是选项中的一个,设置默认值时 default也要加其中一个

 

一般工作中对数据库或数据表结构的改动使用较少,主要还是对表中数据的改动(欲知后事如何,且看下篇博文)。

 

博主是一名行走在大神路上的编程小白[手动滑稽],博文属于学习笔记。欢迎批评、建议、指导

posted @ 2019-01-06 21:28  机器快点学习  阅读(499)  评论(0编辑  收藏  举报