首頁 > 資料庫 > mysql教程 > MySQL常用語句簡介

MySQL常用語句簡介

墨辰丷
發布: 2018-05-11 10:55:46
原創
1538 人瀏覽過

本篇文章主要介紹資料庫、資料表、資料型態、字串以及時間與日期等常用語句,有興趣的小夥伴參考下。

資料庫(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 位元組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 語句大全:建立、授權、查詢、修改

30 個優化MySQL 語句的技巧

PHP中常用的幾個mysql 語句_PHP教學

####

以上是MySQL常用語句簡介的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板