ホームページ > データベース > mysql チュートリアル > MySQL の一般的なステートメントの概要

MySQL の一般的なステートメントの概要

墨辰丷
リリース: 2018-05-11 10:55:46
オリジナル
1516 人が閲覧しました

この記事では、データベース、データテーブル、データ型、文字列、日時などの一般的なステートメントを主に紹介しますので、興味のある方は参考にしてください。

データベース/時刻と文字列(文字)


TINYINT 1バイト(0、255)
SMALLINT 2バイト(0、65 535)
MEDIUMINT 3バイト
INTまたはINTEGER 4バイト BIGINT 8バイト
FLOAT 4バイト DOUBLE 8バイト10進数
Date時間
Date日付値
年度時間または期間
年年数

DateTimeミックス日付と時刻値

Timestampタイムスタンプ、TEXT、ENUM、SET

トランザクションは 4 つの条件 (ACID) を満たす必要があります:
原子性 (アトミック性)、一貫性 (安定性)、分離性 (分離)、耐久性 (信頼性)

トランザクションの原子性: トランザクションのセットは次のいずれかです。成功するか取り消されます。
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 ステートメントのリスト: 作成、承認、クエリ、変更


MySQL ステートメントを最適化するための 30 のヒント



PHP mysql ステートメント_PHP チュートリアル

以上がMySQL の一般的なステートメントの概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート