MySQL常用命令

常用SQL语句

我将由外到里进行编写(数据库到表再到数据)

库层:

1、SHOW DATABASES;//查看或显示数据库

2、CREATE DATABASE 数据库名;//创建数据库 的命令

3、DROP DABABASE 数据库名;//删除数据库

4、ALTER DATABASE 数据库名 set=新字符集 collate=新校对集;//修改数据库字符集

5、USE 数据库名;//选择数据库

6、SHOW CREATE DATABASE dbname;

表层:

1、创建表形式:

CREATE TABLE tabname

(

字段名1,数据类型 [列级别约束条件] [默认值],

字段名1,数据类型 [列级别约束条件] [默认值],

[表级别约束条件]

);

a、使用主键约束PRIMARY KEY

两个地方添加:1、列约束条件位置(PRIMARY KEY)  2、表级别约束条件位置([CONSTRAINT ]  PRIMARY KEY [字段名])

b、使用唯一性约束UNIQUE

同上两个地方添加:1、UNIQUE  2、[CONSTRAINT ]  UNIQUE()

与主键的区别,两者同样要求唯一,但是UNIQUE可以是NULL,主键不可以。且一个表中PRIMARY KEY只能是一个,UNIQUE可以存在多个。

c、使用外键约束(InnoDB) FOREIGN KEY

一个地方添加:1、表级别约束条件位置添加 [CONSTRAINT ]  FOREIGN KEY 字段名1[,字段名2,…]  REFERENCES 主键列 [,主键列2,….]

注意:两个表之间有了外键的联系,不能直接删除主表,否则会出错!若必须要删除主表,可以先删除外键,再来删除主表。

d、非空约束 NOT NULL

一个地发添加:1、列约束条件位置  NOT NULL

e、使用默认约束 DEFAULT

一个位置添加:1、列约束条件位置  DEFAULT 默认值

f、设置表的属性值自动增加  AUTO_INCREMENT

一个位置添加:1、列约束条件位置  AUTO_INCREMENT

注意:此时的列必须是主键或者唯一键!

索引问题:以下是普通索引、全文索引、空间索引。上面创建约束的同时也是创建相应的索引,主键索引、唯一索引等等。

g、普通索引 INDEX/KEY

一个位置添加:1、列约束条件位置  INDEX();

h、全文索引(MyISAM) FULLTEXT

一个位置添加:1、列约束条件位置  FULLTEXT KEY [‘名字’] (‘字段名’);

i、创建空间索引(MyISAM) SPATIAL

一个位置添加:1、列约束条件位置  SPATIAL KEY [‘名字’] (‘字段名’);

2、DESCRIBE/DESC tabname;

3、SHOW CREATE TABLE tabname;

4、DROP TABLE [IF EXISTS] ;

5、ALTER TABLE ENGINE=;

6、ALTER TABLE RENAME [TO] ;

7、ALTER TABLE MODIFY ;

8、ALTER TABLE CHANGE ;

9、ALTER TABLE ADD [约束条件] [FIRST|AFTER 已存在的字段名];

10、ALTER TABLE MODIFY FIRST|AFTER ;

11、ALTER TABLE DROP ;

#在已有的表上创建索引

12、ALTER TABLE ADD INDEX [索引名] (字段名);

13、ALTER TABLE ADD PRIMARY KEY (字段名);

14、ALTER TABLE ADD FOREIGN KEY (字段名) REFERENCES (主键字段);

15、ALTER TABLE ADD UNIQUE KEY (字段名);

16、ALTER TABLE ADD FULLTEXT KEY(字段名);

17、ALTER TABLE ADD SPATIAL KEY (字段名);

18、ALTER TABLE ALTER SET DEFAULT 默认值;

#删除索引

19、ALTER TABLE ALTER DROP DEFAULT;

20、ALTER TABLE DROP PRIMARY KEY;

21、ALTER TABLE DROP FOREIGN KEY 外键名;

22、ALTER TABLE DROP INDEX 索引名;

23、DROP INDEX index_name ON tabname;

数据层:

1、插入数据

INSERT INTO tabname (column_list) VALUES (value_list);

INSERT INTO tabname (column_list) VALUES (value_list1),(value_list2),….,(value_listn);

INSERT INTO tabname SET 字段名1=值1,字段名2=值2,…..,字段名n=值n;\

2、更新数据

UPDATE tabname SET column_name1=value1,column_name2=value2,…column_namen=valuen WHERE (condition);

3、删除数据

DELETE FROM tabname[WHERE ];

TRUNCATE [TABLE] tabname;

DELETE与TRUNCATE的区别:TRUNCATE直接删除整个表,再创建一个一模一样的表。

4、数据查询

(1)、SELECT {*|}

[

FROM ,,…,

WHERE

GROUP BY

HAVING

ORDER BY

LIMIT

]

(2)、SELECT [字段1,字段2,…,字段n] from [表|视图] WHERE [查询条件];

(3)、连接查询

a、内连接查询  SELECT tab1.* tab2.* FROM tab1 INNER JOIN tab2 ON ;

b、左连接查询  SELECT tab1.* tab2.* FROM tab1 LEFT [OUTER] JOIN tab2 ON ;

c、右连接查询  SELECT tab1.* tab2.* FROM tab1 RIGHT [OUTER] JOIN tab2 ON ;

(4)、合并查询结果

SELECT column,… FROM tab1

UNION [ALL]

SELECT column,…FROM tab2;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值