MySQL基本

mysql 密码:root/12345678
# mysql数据库登入
mysql -uroot -p123456 # 本地登入
格式:mysql -h'服务器IP' -u'用户名' -p'密码'
#查看数据库
show databases;
# 进入数据库
use mysql
# 查看数据库中的表
show tables;
# 查看密码策略
show global variables like 'validate_password%';
# 修改密码校验策略
set global validate_password_policy=0; # 关闭密码复杂性校验(测试环境下)
set global validate_password_length=6; # 设置最小密码长度
# 创建用户--只允许从指定IP(192.168.1.124)登入
create user 'user01'@'192.168.1.124' identified by '123456';
create user 'user02'@'192.168.1.124' identified by '12345678';
# 创建用户--允许从指定网段登入
create user 'user03'@'192.168.1.%' identified by '123456';
# 创建数据库
create database DB1;
# 给用户授权
grant select on DB1.* to 'user01'@'192.168.1.124';
# 刷新权限
flush privileges;
# 查看权限
show grants for user01@'192.168.1.124';
# 查看当前在那个数据库内
select database()
# 创建表
create table tb1(id int,name char(10));
# 插入数据
insert into tb1(id,name) values(1,'zhangsan');
# 删除一条数据
delete from tb1 where id=2;
# 取消授权
revoke delete on DB1.* from 'user01'@'localhost';

SQL语句
1.数据库操作
create database DB2; --创建数据库
show databases; --查看数据库
drop database DB2; --删除数据库
use DB2 --切换到指定表
2.表操作
show tables; --查看所有表
create table tb1(id int,name char(10)); --创建表
# 多行格式
create table tb1(
    id int,
    name char(10)
)default charset=utf8
insert into tb1(id,name) values(1,'zhangsan'); --插入数据
select * from tb1 --查看表
delete from tb1 --删除表记录(清空表)
truncate table tb1 --清空表

2.1表內容的编码问题
   数据库
   create database DB3 default charset utf8;
   表
   create table tb2(id int,name char(10))default charset=utf8;
   insert into tb2 values(1,'张三'); --支持中文
2.2mysql存储引擎
  innodb -- 支持事务(原子性操作,支持回滚)
  myisam -- 读写熟读快
2.3 字段属性--字段不允许为空
create table tb3(
    id int not null,
    name char(10) not null
)engine=innodb default charset=utf8;
2.3.1 字段属性--字段默认值
create table tb4(
    id int not null,
    name char(10) not null,
    info char(10) not null default 'student'
)engine=innodb default charset=utf8;
2.3.2 字段属性--主键自增
create table tb5(
    id int not null auto_increment primary key,
    name char(10) not null,
    info char(10) not null default 'student'
)engine=innodb default charset=utf8;

# 数据类型
数字
tinyint
       有符号(signed):-128~+127
       无符号(unsigned):0~255
       用法:num int unsigned not null,
smallint
    有符号:-32768~32767
    无符号:0~65535
int
bigint

float
double
decimal --精确小数decimal(总位数,小数点后位数)
    用法:num decimal(10,5),
字符串
    char(10) --定长,如果字段长度小于指定长度默认空格填充,查询速度快
    varchar(10)  --变长,字段长度是多少则存储就是多少,节省空间,最大包含255个字符
    text -- 可以存储65535个字符
    通常情况,定长字段在前,边长字段在后,能提高速度
时间
date
   YYYY-mm-dd(000-01-01~9999-12-31)
time
   HH:MM:SS(-838:59:59~838:59:59)
year
   YYYY(1901~2155)
datetime
   YYYY-mm-dd HH:MM:SS(1000-01-01 00:00:00~9999-12-31 23:59:59)
timestamp
枚举
   enum
集合
   set
2 外键(某个字段数据与另一字段产生约束,涉及多个表)
constraint 外键名 foreign key ('需要外键约束的字段') references 被依赖的表('被依赖的字段')
create table tb6(
   uid int auto_increment primary key,
   name varchar(20),
   relay_id int,
   constraint fk_tb6_tb7 foreign key(relay_id) references tb7(id)
)engine=innodb default charset=utf8;

create table tb7(
   id int auto_increment primary key,
   title char(15)
)engine=innodb default charset=utf8;

insert into tb7(title) values('斗破苍穹'),('武动乾坤'),('大主宰');
insert into tb6(name,relay_id) values('张小花',1);
insert into tb6(name,relay_id) values('陈啸虎',2);
insert into tb6(name,relay_id) values('王振天',3);
insert into tb6(name,relay_id) values('戴妃',4); 报错
insert into tb6(name,relay_id) values('钱梁',2);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值