mysql学习笔记一

连接服务器
mysql -uroot -proot
选库
use test;
查看库
show databases;
创建数据库
create database 数据库名 charset utf8;
删除数据库
drop database 数据库名;
把数据库改名
mysql可以把表/列可以改名 database 不行
查看库下面所有的表
show tables;
创建表
create table stu(
sum int,
sname varchar(10)
)engine myisam charset utf8;
///engine是表引擎
删除表
drop table stu;
给表改名
rename table stu to newstu;
插入记录
insert into stu values
(),();
清空表数据
truncate 表;
truncate相当于删除表后操作得到一张全新表
delete相当于用橡皮把数据擦掉
如果决定全清空,truncate快
乱码 告诉服务器 客户端使用gbk编码
set names gbk;
\c表示跳出执行
把敲的sql和代码存储
tee d:1010.sql
创建表
create table class(
id int primary key auto_increment,
sname varchar(10) not null default ‘’,
gender char(1) not null default ‘’,
company varchar(20) not null default ‘’,
salary decimal(6,2) not null default 0.00,
fanbu smallint not null default 0
)engine myisam charset utf8;
mysql三大列类型
1.数值型
(1)整型
对于int类型 字节占得越多,占得空间越多
int类型声明时参数包括 (M) unsigned zerofill
unsigned
默认是有符号的,若想要无符号则unsigned,eg:alter table class add score tinyint unsigned not null default 0;
zerofill
代表0填充,zerofill同时默认绑定无符号类型
M参数
M必须和zerofill配合才有意义
eg:alter table class add snum smallint(5) zerofill not null default 0;
长度固定,不够用0填充,如12 会被填充成00012

tinyint
占据空间 1个字节,存储范围有符号的为-128-127,无符号的为0-255,
一个字节占8个位,每个位存储0或1
2^8-1=255
计算机为了表示一个数是负数,会把最高位的0/1当成符号来看,0表示正数,1表示负数
二进制补码的问题
负数=绝对值位-128
1111 1111—>2^7-1-128=-1
1000 0000—>0-128=-128
故范围是-128到127

smallint
占2个字节 16位 无符号 0到2^16-1=65535
有符号 -2^15 到2^15-1,即-32768到32768
mediumint
3个字节
int
4个字节
bigint
8个字节
总结
N字节 8N位
无符号 0—>2^8N-1
有符号 -2^(8N-1) —>+2^(8N-1)-1
(2)小数型
float(M,D)
decimal(M,D)
M叫精度,代表总位数 D是标度,代表小数点后的位数
float 如果 M<=24,占4个字节,否则8个字节
还有一种叫定点decimal,把整数部分和小数部分分开存,比float精确
银行账户用int存,单位是分。
2.字符型
char(m) 定长字符串
varchar(m) 可变字符串(1-2个字节用来存放字符的长度)
在这里插入图片描述

char的速度快,且char的利用率可以达到100%
char如不够指定长度,会在末尾用空格补齐,但是取出时会把右侧空格删掉,这意味着原始字符串末尾有空格的话,会丢失。
char(m),varchar(m)都是指字符数,不是字节数
text:文本类型,存比较大的文本,声明text列时不必给默认值
blob:二进制类型,用来存储图像音频等二进制信息,防止因为字符集问题导致信息丢失,比如一张图片有0xFF字节,但在ascii字符集认为非法,在入库的时候被过滤。
3.日期型
在这里插入图片描述
timestamp
insert into test add ts timestep default CURRENT_TIMESTAMP;
查看表的结构
desc class;
添加行
insert into class
()
values
();
修改行
update class
set
gender=‘女’
where ;
删除
delete from 表
where expr;
delete from 表;#表中所有数据被删除
查询
select 列名
from 表
where expr;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值