MySQL主要语句_MySQL主要有哪些常用语句

MySQL主要有哪些常用语句

发布时间:2020-05-14 11:51:09

来源:亿速云

阅读:171

作者:三月

下面讲讲关于MySQL主要有哪些常用语句,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完MySQL主要有哪些常用语句这篇文章你一定会有所受益。

4b8aafa8e089105f9fae0e9b0c75820d.png

数据库(Database)

数据表 table

列 column

行 row

冗余

主键 primary key

外键 foreign key

复合键

索引

参照完整性

MySQL 数据类型

三类:数值、日期/时间和字符串(字符)

数值

TINYINT 1 字节(0,255)

SMALLINT 2 字节(0,65 535)

MEDIUMINT 3 字节

INT或INTEGER 4 字节 BIGINT 8 字节

FLOAT 4 字节 DOUBLE 8 字节 DECIMAL

日期时间

DATE 日期值

TIME 时间值或持续时间

YEAR 年份值

DATETIME 混合日期和时间值

TIMESTAMP 时间戳

字符串

CHAR 0-255字节 、VARCHAR 0-65535 字节

BINARY、VARBINARY、BLOB、TEXT、ENUM和SET

事务是必须满足4个条件(ACID):

Atomicity(原子性)、Consistency(稳定性)、Isolation(隔离性)、Durability(可靠性)

1、事务的原子性:一组事务,要么成功;要么撤回。

2、稳定性 : 有非法数据(外键约束之类),事务撤回。

3、隔离性:事务独立运行。一个事务处理后的结果,影响了其他事务,那么其他事务会撤回。

事务的100%隔离,需要牺牲速度。

4、可靠性:软、硬件崩溃后,InnoDB数据表驱动会利用日志文件重构修改。

可靠性和高速度不可兼得, innodb_flush_log_at_trx_commit选项 决定什么时候吧事务保存到日志里。

命令如下:mysql> -uroot -p123456 登陆

mysql> grant all on test.* to 'pengshiyu'@'localhost'

-> identified by '123456'; 创建用户

mysql> quit 退出

mysql> show databases; 查看数据库

mysql> create database test; 创建数据库

mysql> create database test charset utf8; 指定字符集支持中文

mysql> show create database test; 查看数据库信息

mysql> drop database test; 删除数据库

mysql> use test; 进入数据库

mysql> create table student(

-> id int auto_increment,

-> name char(32) not null,

-> age int not null,

-> register_data date not null,

-> primary key (id)

-> ); 创建表

mysql> show tables; 查看表

mysql> desc student; 查看表结构

mysql> describe student; 查看表结构

mysql> show columns from student; 查看表结构

mysql> insert into student(name, age, register_data)

-> values('tom', 27, '2018-06-25'); 增加记录

mysql> select * from student; 查询数据

mysql> select * from student\G 按行输出

mysql> select * from student limit 3; 限制查询数量

mysql> select * from student limit 3 offset 5; 丢弃前5条数

mysql> select * from student where id > 3; 条件查询

mysql> select * from student where register_data like "2018-06%"; 模糊查询

mysql> update student set name = 'cxx' where id = 10; 修改

mysql> delete from student where id = 10; 删除

mysql> select * from student order by age; 排序默认ascend

mysql> select * from student order by age desc; 降序descend

mysql> select age,count(*) as num from student group by age; 分组

mysql> select name, sum(age) from student group by name with rollup; 汇总

mysql> select coalesce(name,'sum'), sum(age) from student

-> group by name with rollup; 汇总取别名

mysql> alter table student add sex enum('M','F'); 增加字段

mysql> alter table student drop sex; 删除字段

mysql> alter table student modify sex enum('M','F') not null; 修改字段类型

mysql> alter table student modify sex

-> enum('M','F') not null default 'M'; 设置默认值

mysql> alter table student change sex gender

-> enum('M','F') not null default 'M'; 修改字段名称

mysql> create table study_record(

-> id int not null primary key auto_increment,

-> day int not null,

-> stu_id int not null,

-> constraint fk_student_key foreign key (stu_id) references student(id)

-> );命名外键约束

创建表

mysql> create table A(a int not null);

mysql> create table B(b int not null);

插入数据

mysql> insert into A(a) values (1);

mysql> insert into A(a) values (2);

mysql> insert into A(a) values (3);

mysql> insert into A(a) values (4);

mysql> insert into B(b) values (3);

mysql> insert into B(b) values (4);

mysql> insert into B(b) values (5);

mysql> insert into B(b) values (6);

mysql> insert into B(b) values (7);

交集 内连接

mysql> select * from A inner join B on A.a = B.b;

mysql> select a.*, b.* from A inner join B on A.a = B.b;

差集

mysql> select * from A left join B on A.a =B.b; 左外连接

mysql> select * from A right join B on A.a =B.b; 右外连接

并集

mysql> select * from a left join b on a.a=b.b union

-> select * from a right join b on a.a = b.b; 全连接

mysql> begin; 开始事务

mysql> rollback; 回滚事务

mysql> commit; 提交事务

mysql> show index from student; 查看索引

mysql> create index name_index on student(name(10)); 创建索引

mysql> drop index name_index on student;删除索引

对于以上MySQL主要有哪些常用语句相关内容,大家还有什么不明白的地方吗?或者想要了解更多相关,可以继续关注我们的行业资讯板块。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值