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

ユーザー管理操作に関してはA.

1.ユーザーを作成します。

create user '用户名'@‘ip地址’ identified by '密码' ;

2.ユーザーを削除します。

drop user '用户名'@‘ip地址’;

3.ユーザーを変更します。

rename user '用户名'@‘ip地址’; to '新用户名'@‘新ip地址’;;

4.パスワードの変更

set password for '用户名'@'ip地址' = password('新密码');

注意:%は「%」、など、任意の数のIPアドレスを示し、「192.168%を。」。

II。ユーザー権限の管理操作

1.ユーザー権限をチェック

show grant for '用户'@'ip地址'

2.を認可

grant 权限 on 数据库.表 to ‘用户名’@‘ip地址’;

3.キャンセル権

revoke 权限 on 数据库.表 from '用户名'@'ip'地址

注意:1つの、データベーステーブルが* *すべてのデータベースへのアクセス権を付与するために、関連する権限を示して書き込むことができます。

权限的种类:
			all privileges  除grant外的所有权限
            select          仅查权限
            select,insert   查和插入权限
            ...更多权限可以查看手册

III。表示は、データベースを使用して、作成します

1.ディスプレイのデータベース

show databases;

2.データベース(開いているフォルダ)を使用します

use  数据库名称;

3.データベースを作成します。

create databases db default charset UTF-8;
创建一个数据库,并将其编码格式设置为UTF-8

IV。動作表

1.テーブルを作成します。

create table 表名(
		列名	类型	是否可以为空,
		列名	类型	是否可以为空,
)engine=innodb default charset=UTF-8
举例:
create table t1(
		列名 类型 null,
		列明 类型 not null,
		列名 类型 not null default 1,
		列名 类型 not null(null) auto_increment primary key,
		id int,
		num decimal(10,5)	//前面是小数点前后的总位数,后面代表小数点后面的数
		name char[10]) engine=innodb default charset = UTF-8;

注意:nullはnullを表し、nullではない非空を表しています。デフォルト2は、設定されたデフォルト値を表し、

(1)主キーの
定義:複数の列が、それはユニークな組み合わせでなければならない場合は一意のインデックスの特別な種類、許可ヌルは、単一の主キー列と、その値は、一意である必要があります

例如:
定义语句: name char(10),id int
设置主键: id int primary key 一个属性作为主键
		  primary key(nid,num)两个属性组合起来作为主键

(2)外部キーが
定義されている:公開鍵が関係で主キーである場合、公開鍵は、他の外部キー関係と呼ばれています。

定义语句:
	constraint 名称 foreign key (color_id) references color(nid)
	color_id为外键,nid为color表中的主键,color为被参照表。

(3)増分が
定義:カラムにオートインクリメントに設定されている場合、この列は、データ・セットを挿入することなく、デフォルトでは(表のみ追加いずれかを有することができる)インクリメントします

id int not null auto_increment primary key,

注:自動インクリメントの主キー列に設定する必要があります。

2.表を削除します。

drop table 表名;

3.空のテーブル

delete table 表名			//不清空自增,添加元组时,自增列的值接清空前
truncate table 表名			//同时清空自增列

表4.変更

添加列:alter table 表名 add 列名 类型
删除列:alter table 表名 drop column 列名
修改列:alter table 表名 change 原列名 新列名 类型; 

V.内容(CRUD)

1.増加

insert into 表 (列名,列名...) values (值,值,值...)
insert into 表 (列名,列名...) values (值,值,值...),(值,值,值...)
insert into 表 (列名,列名...) select (列名,列名...) from 表

2.削除します

delete from 表 where id=007 and name='嘿嘿嘿'

3.変更

update 表 set name = 'lihua' where age<18

4.チャールズ

select nid,name,gender as gg from 表 where id > 1
select * form 表			//表示查询该表中的所有数据

VI。データ型

1.デジタルタイプ

整数类型:
1.tinyint	2.int	3.bigint	4.decimal
浮点数类型:
1.float		2.double
字符类型:
1.char		2.varchar	3.text
枚举类型:
1.enum
集合类型:
1.set
时间类型:
1.Date 年月日	2.time 时分秒	3.year 年

1.num小数(10,5)//小数点前方の桁数の合計は、代表後ろ小数点数
2.char(10)にかかわらず、長さの10を占めるようになる長さ10と等しくない
に従って3.varchar(10)実際には、速度が速いチャーない、スペースを節約するために、10まで、割り当てられた
4.sizeのENUM(「X-小」 、「小」、「中」、「大」、「大は、X」) のデータが挿入された場合にのみ選択することができますENUMは
5.colのSET( 'A'、 ' B'、 'C'、 'D'); 時間の調査データは、SETの任意の組み合わせであってもよいです

補給操作:

条件操作:

select * from 表 where id >1 and name !='alex' and num = 12;
select * from 表 where between 5 and 16;
select * from 表 where id in (22,12,1);
select * from 表 where id not in (11,2,1);
select * from 表 where id in (select nid from 表)

通配符:

select * from 表 where name like '%'	其中%代表多个字符
select * from 表 where name llike '_'  其中_代表一个字符

(主にページングするための)制限:

select * from 表 limit 5;
select * from 表 limit 10,10	表示从第10行开始的后面10行;
select * from 表 limit 10 offset 10 效果同上

シーケンス

select * from 表 order by 列 asc 根据列从小到大排序
select * from 表 order by 列1 asc,列2 asc 根据列1从小到大排序,如果有相同,再根据列2从小到大排序
asc:从小到大,desc:从大到小

グループ:

select * from 表 group by xx;
select * from 表 group by xx having xx>xx;
分组常与聚集函数组合使用,并且group by 必须放在where之后,group by 之前

でもテーブル:
左と右にもテーブル:参加(自動デエンファシス)

方法一:
select A.name,B.name from A,B where A.num = B.num;
方法二:
1.inner join
select A.name,B.num from A inner join B on A.num = B.num;
当A.num与B.num无对应关系则不显示
2.left join
select A.name,B.num from A left join B on A.num = B.num;
A表全部显示,A表存在,但B表不存在的显示空
3.right join
select A.name,B.num from A right join B on A.num = B.num;
B表全部显示,B表存在,但A表不存在的显示为空	

でもダウンテーブル:UNION ALL(自動デエンファシス)組合(ない重量)

おすすめ

転載: blog.csdn.net/w819104246/article/details/91126654