美文网首页
Note of Mysql

Note of Mysql

作者: Jomornt | 来源:发表于2018-03-15 20:40 被阅读0次

参考:刘道成的mysql视频
(此文章只用于自己之后复习)

理论知识

1、表-->库-->mysql数据库服务器。
2、mysql是数据库服务器,navcat,cmd的都是客户端。
3、连接服务器:mysql -h localhost -u UserName -p Password(无分号结尾),
如果不写-h默认连localhost。
4、information_schema数据库是MySQL系统自带的数据库,它提供了数据库元数据的访问方式。
PERFORMANCE_SCHEMA数据库,主要用于收集数据库服务器性能参数。
mysql数据库存放mysql的信息,好比你登录数据库的帐号密码都在mysql库中的user表中。
所以以上三数据库不可以动!!!
5、mysql不能更改数据库的名字,一些客户端工具能做到是他们先复制内容到新名字的数据库,然后删了原来的数据库而达到的。!!!!但是表名是可以更改的。
6、语句打错了,可以用\c退语句。注意\。
7、

数值型

——整型(类如int(D))


整型

比如:alter table student add id int(5) unsigned zerofill not null default 0;
unsigned :无符号,影响存储范围。
M:代表宽度,在zerofill时候才有意义。
zerofill:用0填充,如果某一列是zerofill,那么默认unsigned。
not null default 0:设置默认值,一般数值为0,字符串为"";
(M设置为1,依旧可以输入35这样的数,它对数据无影响)

——小数型
浮点型(M,D)——float(M,D)
定点型(M,D)——decimal(M,D)

M:精度,总位数(不包含点)
D:标度(小数位)
(float(6,2)——>-9999.99-9999.99
float(6,2) unsigned ——>0-9999.99
区别整型)
小数点超位数会四舍五入,但是不同于我们以往的四舍五入。
(此处可百度下,反正我现在是是知道的,如果你以后忘了......那就百度百度)
定点比浮点更精确

字符型

char:定长char(M)
varchar:变长varchar(M)
M代表宽度,即可容纳的字符数
用varchar,若存的字符数为N,N<M则实际占N个字符(多出1-2个字节,用来标志字符长度)varchar利用率永远小于100,char可能能达到100
char不够M个字符用空格补,读取的时候会把尾部空格去掉,所以如果原来内容后面就有空格,就会丢失。
速度:定长快一些。


char与varchar
日期型(要加双引号)

——年--->year
范围:1901-2155
如果输入两位:00-69表示2000-2069
如果输入两位:70-99表示1970-1999

——年-月-日--->date
典型格式:1992-08-12
范围:1000-01-01~9999-12-31

——09:00:00--->time
典型格式:hh:mm:ss
范围:-838:59:59~838:59:59

——年-月-日 hh:mm:ss --->datetime
典型格式:1980-05-12 12:34:24
范围:1000-01-01 00:00:00~9999-12-31 23:59:59
一般default:1000-01-01 00:00:00

——时间戳(用int):1970-01-01 00:00:00到当前的秒数,一般注册时间商品发布时间都是用时间戳表示而非datetime,因为dt不容易计算。

8、还有enum型,set型,不符合关系型数据库设计理解,而且内存用的也没有少很多,所以不多用,有需要以后自己查吧。
9、charset 字符集
engine存储引擎
auto_increment 值自动增长
primary key 主键值不可能重复

代码

1、基础语句

1.show databases;
2.create database DBname;
3.use DBname;
4.show tables;

2、增删改查

//增

//创建表(举例,tablename = student)之简单型
create table  student
(id int,
name char(5),
phone_number varchar(10),
age int
);
//创建表(举例,tablename = student)之复杂型(解释见理论9)
create table stydent(
id int primary key auto_increment,
name char(3),
age tinyint unsigned not null default 0,
email varchar(30) not null default "",
tel char(11) not null default "",
intro varchar(1000) not null default "",
salary decimal(7,2) not null default 1800.68,
riqi date not null default "2012-01-01"
)charset utf8;
//多行插入,单行应该就会了哈
insert into student 
(id,name,phone_number,age)
values
(1,'Mike','87492345','20'),
(2,'Jack','87498765','30');
//增加列
alter table student add id int(5) unsigned zerofill not null default 0;


//删
drop database DBname;
drop table tablename;
//不加where导致全删
delete from student
where id = 2;


//改
rename table oldName to newName;
);

update student
set
id = 2,
name = "Bill"
where name = "Mike";//类似的还有 where 1>0;where 1>2;



//查
desc tablename;(查看表结构,其实就是description)
select * from tablename;

相关文章

  • Note of Mysql

    参考:刘道成的mysql视频(此文章只用于自己之后复习) 理论知识 1、表-->库-->mysql数据库服务器。2...

  • MySql note

    --net start/stop MySQL57 开启或关闭mysql数据库服务--登陆mysql:mysql自带...

  • MySQL Note

    MySQL 关系模型 主键 有个很重要的约束,就是任意两条记录不能重复。不能重复不是指两条记录不完全相同,而是指能...

  • Mysql note

    1、哪些字段适合加索引 经常被查询的字段 字段长度太长不适合建立索引 经常更新的字段不适合建立索引,因为更新还会更...

  • mysql note

    锁粒度 表锁、行锁 事务 ACID 原子性 一个事务必须被视为一个不可分割的最小工作单元,整个事务中的所有操作要么...

  • MGR集群中节点间数据一致性如何检查?

    目录 MySQL错误日志出现[Note] InnoDB: Discarding tablespace of tab...

  • JAVA专题---一千行 MySQL 学习笔记

    cover:https://shockerli.net/post/1000-line-mysql-note/

  • 一千行 MySQL 学习笔记(转)

    原文地址: https://shockerli.net/post/1000-line-mysql-note/

  • Mysql高可用之MHA部署

    实验环境 其中: 系统为Centos 6.5 x86_64 mysql版本为 mysql 5.5 Note本文中出...

  • mysql 一千行

    来源:https://shockerli.net/post/1000-line-mysql-note/[https...

网友评论

      本文标题:Note of Mysql

      本文链接:https://www.haomeiwen.com/subject/myphqftx.html