第一篇博文,一个小小的纪念仪式^-^
以下正文
一、数据库的基本操作
--数据库的操作
--连接数据库
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也要加其中一个
一般工作中对数据库或数据表结构的改动使用较少,主要还是对表中数据的改动(欲知后事如何,且看下篇博文)。