加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL中主要有哪些常用语句

发布时间:2023-10-25 15:13:49 所属栏目:MySql教程 来源:
导读:数据库(Database)

数据表 table

列 column

行 row

冗余

主键 primary key

外键 foreign key

复合键

索引

参照完整性

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 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;删除索引
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章