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