标签:inf 编码 浮点 完整 where 作用 操作 状态 username
select user();
mysql -u用户名 -p密码 -h 连接地址
set password = password('123456');
相当于创建了一个文件夹
create database python;
show databases;
切换到对应的文件夹
use python
create table tablename(字段名 类型(长度),字段名 类型(长度) 约束...)
# 例子
create table score(id int(8),name char(20),num int(4));
show tables;
# 查看一些简单的信息,更直观
desc score;
# 详细,可以查看到表名编码,存储引擎等..
show create table score;
drop table score;
show variables like '%character%';
临时设置字符集(数据库重启既失效)
永久设置需要修改mysql配置文件
# 命令临时修改
set character_set_server='utf8';
# 插入一条数据
insert into 表名(字段名) values(值)
insert into score(id,name,num) values(1,'alex',0);
# 插入多条数据
insert into score(id,name,num) values(1,'alex',0),(2,'mhy',0);
delete from 表名 where 条件
# 删除这张表里ID等于2的数据
delete from score where id = 2;
update 表 set 字段名='新的值' where 条件
update score set id = 4 where name = 'mhy';
# 查询表里所有的数据
select * from score;
类型 | 大小 | 范围 | 用途 |
---|---|---|---|
tinyint | 1bytes | 2**8 | 小整数值(年龄) |
smallint | 2bytes | 2**16 | 大整数值 |
miedium | 3bytes | 2**24 | 大整数值 |
int | 4bytes | 2**32 | 大整数值(整数) |
bigint | 8bytes | 2**64 | 极大整数值 |
# age3 tinyint unsigned 无符号(-)
create table t1(age1 tinyint(2),age2 tinyint,age3 tinyint unsigned);
create table t2(money float(6,2));
insert into t2 values(2222222.33323232);
create table t4(money double);
insert into t4 values(333.339324234323232);
例如:用户名\密码\手机号\身份证号
char是定长存储 在存储过程中会将剩余的字节数用空格来替补
char(20) 存储后就是 ‘mhy ‘会将剩余没有使用的使用空格来填补
例如:评论\微博\微信朋友圈\论坛
varchar变长存储
‘mhy‘ 存储过后就是 ‘mhy3‘
create table t5(username char(20),password char(32));
年月日时分秒
例如:登陆时间\修改时间\出生日期
年月日
例如:注册时间
时分秒
例如:跑步计时
时间戳
时间戳4字节:1970-2038-xx-xx
年
# 创建
create table t6(dt datetime,d date,t time,ts timestamp,y year);
# 查看当前时间
select now();
# 插入当前时间
insert into t6(dt) values(now());
insert into t6(y) values(now());
insert into t6(t) values(now());
# 插入自定义时间
insert into t6(d) values(20190915);
insert into t6(t) values(230909);
# 字符串形式
insert into t6(t) values('23:09:09');
insert into t6(d) values('2019/09/15');
# 更新后timestamp会随着最后的时间进行修改
update t6 set dt='2019-09-14 23:12:12' where d = '2019/09/15';
# 更新
create table t6(dt datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, d date, t time, ts timestamp, y year);
create table t8(gender enum('男','女'),hobby set('抽烟','喝酒','烫头','洗脚'));
insert into t8 values('男','抽烟');
insert into t8 values('男','抽烟,烫头,洗脚');
mysql 5.6以上版本默认的存储引擎就是innodb
引擎。
frm
:格式的文件,存储表结构
ibd
:存储数据
查看当前数据库的存储引擎
show variables like "default_storage_engine";
查看数据库的支持的存储引擎:
show engines;
Innodb引擎:支持事务,行级锁定,外键
当一个用户请求发生了事务,提交成功后,会对某一个用户加锁(行级锁),进行修改,同一时间,其他的人申请修改这个行的数据不能修改,但是其他行的数据不影响。这就是行级锁,但是如果同一时间修改的行过多,行级锁其实效率不高,innodb也支持表锁
表的外键是另一张表的主键。将两张表联系到一起。
作用:简单的说是为了保证数据的完整性。
#临时修改
set sql_mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION";
# 配置文件修改
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
标签:inf 编码 浮点 完整 where 作用 操作 状态 username
原文地址:https://www.cnblogs.com/Hybb/p/11525110.html