MySQL常用语句简介

本篇文章主要介绍数据库、数据表、数据类型、字符串以及时间与日期等常用语句,感兴趣的小伙伴参考下。

数据库(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 studentG  按行输出  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 语句大全:创建、授权、查询、修改

MySQL 语句大全:创建、授权、查询、修改

MySQL 语句大全:创建、授权、查询、修改

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享