基本操作データベース(MySQLの)

RDBMSはリレーショナルデータベース管理システム(リレーショナルデータベース管理システム)の頭文字です。SQL RDBMSが基礎となっています

データベースの使用を開きmysqlの

Navicatは、データベース操作のインストールをお勧めします

デジタルタイプを除いて、以下の値が、「」の文字タイプ」

基本的な文法を選択 

select now()   # 获取当前时间

select * from table    # *表示查询所有

select column from table     # 查询一列(column必须在table中存在)

select column1,column2 from table     # 查询多列(column必须在table中存在)

select * from table where column is null   # 查询列名为空的数据

select * from table where column is not null    # 查询列名部位空的数据
select sum(if(column=1,column,0)) from table    # 查询列名为1的总数

select sum(case when column=1 then column end) from table

SQL算術演算子

select column+1 from table    # + 相加    - 相减    * 相乘    / 相除   % 取余

比較演算子

select * select demo where column > 3 and column < 5   # 查询大于3小于5的数据

select * from demo where age between 3 and 5   # 和上面一样

select * from table where column = “zhangsan”   # 查询列名为zhangsan的数据

select * from table where not column = “zhangsan”   # 查询列名部位zhangsan的数据

select * from table where column != “zhangsan”   # 和上面一样


> 大于  < 小于    = 等于    >= 大于等于    <= 小于等于   between 在某个范围内    

指定された制限

select * from demo limit 2   # 查询前俩行
  # 其他SQL 用 top 等

ワイルドカード

_   下划线表示单个字符

%   百分号表示零个,一个或多个字符

L IKEオペレータ

select * from table column like 's%'    # 查询已s开头的数据

select * from table column like '%s'    # 查询已s结尾的数据

select * from table column like '%s%'   # 查询数据中有s的数据

エイリアスエイリアス

select * from table as t         
     # 重命名t就代表了tatble表

では  演算子

select * from table where column in (value1,value2)   
     # 查询列名是value1、value2的值

別個の(デエンファシス)を選択 

select distinct column from table       
     # 去除重复的列名

andとor演算子

select * from table where 条件 and 条件     # 条件都为true执行

select * from table where 条件 or 条件      # 条件都一个为true执行

ソートフィールド順

select * from table where order by column desc    # 通过列名排序降序

select * from table where order by column asc     # 通过列名排序升序

インナー(JA)参加だけ参加書き込むことができます

select t1.varlue,t2.value from table1 t1 inner join table2 t2 on 条件   
     # 以俩表中心建立连接

左は(左結合)に参加します

select t1.varlue,t2.value from table1 t1 left join table2 t2 on 条件  
     # 以左表为中心连接右表

rigth参加(右接続)

select t1.value,t2.value from table1 t1 rigth join table2 t2 on 条件   
    # 以右表为中心连接左表

  フル参加(外部接続)

select t1.varlue,t2.value from table1 t1 full join table2 t2 on 条件    
     # 全表查询

自己が(コネクタから)参加します

select * from table1,table2

労働組合のすべてのコマンド

select column from table1 union all select column from table2
     # 把俩个查询结合在一起,但是列名必须一致

IFNULL

select (column1+ifnull(column2,0)) from student      
     # 假如column为空,设置为0

コンピューティング文法

select avg(column) from table      # 平均值

select sum(column) from table      # 计算总和

select count(column) from table    # 查询列条数 null不计

クエリの並べ替え列関数

select first(column) from table     # 查询第一行的值


select last(column) from table      # 查询最后一行

マックス/小さな機能

select max(column) from table      # 查询最大值

select min(column) from table      # 查询最小值

GROUP BY

select sum(column) from table group by column            
     # 对结果进行分组查询

H AVING  集約関数では使用できません

select sum(column) from table group by column having sum( column )   
     # 在函数后面添加条件

R&LT ound  機能

select round(column) from table   
     # 四舍五入

INSERT INTOステートメント(アドオン)

insert into table values(value1,value2,value3)    # 添加一条数据

insert into table(column1,column2) values(value1,value2)  # 添加指定列

# 必须和创建表的字段一致

更新ステートメント(修正)

updata table set column1=value where column2=value      # 通过列列名2的条件修改列列名1的值

DELETE文(削除)

delete from table     # 删除整个表,但是不会删除表结构

delete from table where column='value'     # 删除条件的行

サブクエリ

select * from table where 1 = (select column from table where column=1)
    # 查询1等于子查询

データフォーマット

NOW() 現在の日付と時刻を返します。
CURDATE() 現在の日付を返します。
CURTIME() 現在の時刻を返します。
日付() セクションには、日付または日付/時刻式を抽出し、
エキス() 別々の部分は、日付/時刻を返します
DATE_ADD() 日付を指定された時間間隔を追加します。
DATE_SUB() 日付マイナス指定された時間間隔から
DATEDIFF() 2つの日付の間の日数を返します。
DATE_FORMAT() 異なるフォーマットで日付/時刻
日付 YYYY-MM-DD
日付時刻 YYYY-MM-DD HH:MM:SS
TIMESTAMP YYYY-MM-DD HH:MM:SS
YYまたはYYYY

-------------------------------------------------- --------------------------------------------

CREATE

creader database 库   # 创建库

creader table 表   # 创建表
CREATE TABLE Persons                
(                
ID int NOT NULL AUTO_INCREMENT,   # 自动增长             
LastName varchar(255) NOT NULL,                
FirstName varchar(255),                
Address varchar(255),                
City varchar(255),                
PRIMARY KEY (ID)  #主键
)

ALTER

ALTER TABLE table_name ADD column_name datatype;   添加新列

ALTER TABLE table_name DROP COLUMN column_name;    删除列

ALTER TABLE table_name MODIFY COLUMN column_name datatype;   修改列的数据类型

ALTER TABLE table_name MODIFY column_name datatype NOT NULL;   NOT NULL 约束

ALTER TABLE table_name DROP CONSTRAINT MyPrimaryKey;  删除约束

落とす

alter table tabke drop index index_name     # 删除索引     

drop table 表    # 删除表

drop database 库    # 删除库

TRUNCATE

TRUNCATE TABLE  table_name;
# drop会删除表结构 truncate只会删除数据

ビュー

create view view_name AS select * from table

制約

NOT NULL 约束强制列不接受 NULL 值。

UNIQUE 约束唯一标识数据库表中的每条记录。 

PRIMARY KEY 约束唯一标识数据库表中的每条记录。唯一、不为空

FOREIGN KEY 外键约束。一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY。 

DEFAULT 约束用于向列中插入默认值。

CHECK 约束用于限制列中的值的范围。

ALTER TABLE table_name ADD CONSTRAINT MyUniqueConstraint CHECK (CONDITION); # 添加约束

指数

本カタログに高速クエリに相当

これは、データには影響を与えませんが、レートが影響を与えることになります

インデックスがあるだけで

CREATE INDEX index_name ON table(column);   # 创建索引

CREATE UNIQUE INDEX index_name on table(column);   # 创建唯一索引不允许重复值

CREATE INDEX index_name on table(column1, column2);   # 聚集索引 WHERE 多列的适合 

業務

  • 原子性:すべての運用タスクが完了したことを確認するために、前の元の状態にすべての操作をエラーが発生したときにそうでない場合は、トランザクションが終了すると、ロールバック。
  • 一貫性:トランザクションが成功した場合は、データベースの状態が正しい変更を行っていました。
  • 単離:透過的に実行され、互いに独立して、異なるトランザクションを確実にします。
  • 永続性:システム障害が発生しても、前に実装を成功へのトランザクションの結果が持続します。

コード

  • COMMIT:変更を提出します。
  • ROLLBACK:ロールバック変更。
  • SAVEPOINT:内政をロールバックする直列に復元ポイントを作成します。
  • SET TRANSACTION:指定したトランザクション。

一時テーブルを作成します:TEMPORARY TABLE SALESSUMMARYをCREATE

 

公開された10元の記事 ウォンの賞賛0 ビュー285

おすすめ

転載: blog.csdn.net/qq_40992737/article/details/95944284