MySQL—语法总结(1) 数据库、表、记录基本操作

# 基本操作
net start mysql              # 启动服务 net stop mysql              # 停止服务 mysql
-uroot -p密码 -P3306 -h-127.0.0.1 # root用户登录

SHOW GRANTS FOR user_name;          # 显示一个用户的权限,显示结果类似于grant 命令 prompt \u@\h \d                     # prompt设置
/修改提示符,\D完整日期,\d当前数据库,\h服务器名称,\u当前用户

SELECT VERSION()                      # 显示当前服务器版本
SELECT NOW()                         # 显示当前日期时间
SELECT USER()                        # 显示当前用户

SHOW DATABASES;                           # 显示所有数据库
SHOW WARNINGS;                             # 显示警告
SHOW CREATE DATABASE db_name;                   # 显示数据库创建定义

CREATE DATABASE IF NOT EXISTS db_name CHARCTER SET gbk;         # 创建数据库,并设置默认字符集为gbk 
ALTER db_name CHARCTER SET utf-8;                       # 修改数据库默认字符集为utf-8
DROP [IF EXISTS] db_name;                           # 删除数据库


# 数据表
SELECT DATABASE();                             # 显示当前数据库
SHOW TABLES FROM database_name;                     # 查看数据库中所有数据表
ALTER TABLE tb_name RENAME ntb_name; # 重命名数据表
RENAME TABLE tb_name TO ntb_name; # 重命名数据表
DROP TABLE table_name; # 删除数据表
#- 创建数据表并设置各属性。其中data_type: VARCHAR(20) TYNIINT FLOAT(8,2)...
CREATE TABLE tb_name(col_name1,data_type,UNSIGNED,NOT NULL,AUTO_INCREMENT,PRIMARY KEY,
            col_name2,UNIQUE KEY,ENUM("1","2","3"),DEFAULT "3"
            FOREIGN KEY(col_name2) REFERENCES table_name(col_name) [ON DELETE CASCADE]);   
SHOW CREATE TABLE table_name;                      # 查看表结构
SHOW COLUMNS FROM table_name;                      # 显示表中列名称
SHOW INDEX FROM table_name;                      # 显示表中索引名称
SHOW INDEX FROM table_name\G;                     # 以网格形式显示表中索引名称

# 修改数据表
ALTER TABLE tb_name CHANGE col_name new_name ...; # 重命名列
ALTER TABLE tb_name MODIFY col_name ...; # 重定义列属性
ALTER TABLE tb_name ADD COLUMN col_name VARCHAR(20) FIRST|AFTER col_name;           # 添加单列并指定位置
ALTER TABLE tb_name ADD COLUMNS (col_name1 ...;col_name2 ... );             # 添加多列(不能指定位置)
ALTER TABLE tb_name DROP col_name; # 删除列
ALTER TABLE tb_name DROP col_name1,ADD col_name2; # 添加和删除列可以同时进行
ALTER TABLE tb_name ADD PRIMARE KEY(col_name);                                      # 添加主键约束
ALTER TABLE tb_name ADD UNIQUE(col_name); # 添加唯一约束
(主键和唯一约束区别:
主键约束:字段值唯一;同一张表只能有一个主键;字段值不能为NULL;字段可以做为其他表的外键。
唯一约束:字段值唯一;同一张表能有多个唯一约束;字段值可以为NULL;字段不可以做为其他表的外键。)
ALTER TABLE tb_name ADD FOREIGN KEY(col_name) REFERENCES tb_name2(col_name);        # 添加外键约束
ALTER TABLE tb_name DROP FOREIGN KEY fk_name; # 删除外键约束
ALTER TABLE tb_name ALTER col_name SET DEFAULT 15; # 添加默认约束
ALTER TABLE tb_name ALTER col_name DROP DEFAULT; # 删除默认约束
 
# 操作数据表中的记录
INSERT table_name VALUES("lalala",76,2.35);                                    # 向表中插入数据
INSERT table_name(col_name1,col_name2) VALUES("lalala",2.35),("lalala",2.35);        # 向表中指定列插入多条数据
INSERT tb_name SET col_name1=...,col_name2=...; # 向表中插入数据(每次只能插入一条)
INSERT tb_name(col_name1,col_name2) SELECT ...; # 将查询结果插入指定列

UPDATE tb_name SET col_name=...; # 更新记录
UPDATE tb_name SET col_name=... WHERE ...; # 对满足指定条件的行更新记录

DELETE FROM tb_name WHERE ...; # 删除记录
SELECT * FROM tb_name;                                   # 查找表中所有记录
SELECT col_name1,col_name2 FROM tb_name; # 查找指定列记录
SELECT col_name1 as bieming1,col_name2 as bieming2 FROM tb_name; # 查找结果中列名显示为别名(省略as关键词效果相同)
SELECT * FROM tb_name GROUP BY col_name;                   # 查找结果参照指定列分组
SELECT * FROM tb_name GROUP BY 1;                    # 参照查找结果第1列进行分组
SELECT * FROM tb_name GROUP BY 1 HAVING ...;                 # 根据指定条件进行分组

(WHERE和HAVING区别:WHERE根据表中已有字段设置条件;HANVING根据前面的查询结果包含的字段设置条件)

SELECT * FROM tb_name ORDER BY col_name DESC; # 根据指定字段对查询结果排序,DESC表示降序,ASC(默认)升序。
SELECT * FROM tb_name LIMIT n; # 查询结果显示前n条记录
SELECT * FROM tb_name LIMIT m,n; # 查询结果显示序号m至序号n+m的记录(注意序号从0开始的)


 

posted @ 2018-07-25 17:10  todaynowind  阅读(211)  评论(0编辑  收藏  举报