前端时间总结了MySQL的链接和数据的导入导出:Linux下导入SQL文件及MySQL常用命令
今天就直接整理一下SQL语句的常用命令,一下命令都是在MySQL登陆成功的状态下进行操作的。
显示当前数据库的版本号和日期 SELECT VERSION(),CURRENT_DATE();
SELECT VERSION(),CURRENT_DATE(); +-----------+----------------+ | VERSION() | CURRENT_DATE() | +-----------+----------------+ | 5.7.19 | 2018-03-28 | +-----------+----------------+ 1 row in set (0.02 sec)
通过AS 关键字设置字段名 SELECT VERSION() AS version; //可设置中文,通过单引号
SELECT VERSION() AS version; +---------+ | version | +---------+ | 5.7.19 | +---------+ 1 row in set (0.00 sec)
通过SELECT 执行返回计算结果 SELECT (20+5)*4;
SELECT (20+5)*4; +----------+ | (20+5)*4 | +----------+ | 100 | +----------+ 1 row in set (0.02 sec)
如果觉得字段名不好看,可以这样写 SELECT (20+5)*4 AS result;
SELECT (20+5)*4 AS result; +--------+ | result | +--------+ | 100 | +--------+ 1 row in set (0.00 sec)
通过多行实现数据库的使用者和日期 最后加 ; 分号才算结束。
>SELECT >USER() >, >NOW() >;
通过一行显示数据库使用者和日期 SELECT USER();SELECT NOW();
逗号 , 和分号 ; 的区别
//使用逗号 SELECT USER(),NOW(); +----------------+---------------------+ | USER() | NOW() | +----------------+---------------------+ | root@localhost | 2018-03-28 13:45:31 | +----------------+---------------------+ 1 row in set (0.00 sec) //使用分号 SELECT USER();SELECT NOW(); +----------------+ | USER() | +----------------+ | root@localhost | +----------------+ 1 row in set (0.00 sec) +---------------------+ | NOW() | +---------------------+ | 2018-03-28 13:45:35 | +---------------------+ 1 row in set (0.00 sec)
取消命令
\c
退出命令
quit; exit;
切换/选择数据库 use 数据库名;
use databaseName; Database changed
设置字符集编码 set names utf8;
set names utf8; Query OK, 0 rows affected (0.00 sec)
查询数据库中的表 show tables;
show tables;
查询数据库表中的数据 SELECT * FROM 表名;
SELECT * FROM Websites; +----+--------------+---------------------------+-------+---------+ | id | name | url | alexa | country | +----+--------------+---------------------------+-------+---------+ | 1 | Google | https://www.google.cm/ | 1 | USA | | 2 | 淘宝 | https://www.taobao.com/ | 13 | CN | | 4 | 微博 | http://weibo.com/ | 20 | CN | | 5 | Facebook | https://www.facebook.com/ | 3 | USA | +----+--------------+---------------------------+-------+---------+ 5 rows in set (0.01 sec)
创建数据库表 CREATE TABLE 表名(...);
CREATE TABLE users( -> username VARCHAR(20), -> sex CHAR(1), -> birth DATETIME); Query OK, 0 rows affected (0.23 sec)
添加主键
alter table 表名 add constraint 主键名称 primary key (主键字段1,主键字段2)
删除主键
alter table 表名 drop constraint 主键名称
修改字段名
alter table 表名 rename column A to B
修改字段类型
alter table 表名 alter column 字段名 type not null
增加字段
alter table 表名 add 字段名 type not null default 0
删除字段
alter table 表名 drop column 字段名;
显示表结构 DESCRIBE 表名;
DESCRIBE users; +----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+-------+ | username | varchar(20) | YES | | NULL | | | sex | char(1) | YES | | NULL | | | birth | datetime | YES | | NULL | | +----------+-------------+------+-----+---------+-------+ 3 rows in set (0.20 sec)
插入数据 INSERT INTO 表名 (字段1,字段2,字段3) VALUES ('数据1','数据2','数据3'); 数据和字段一一对应。
INSERT INTO users (username,sex,birth) VALUES ('Lee','x',NOW()); Query OK, 1 row affected (0.07 sec)
筛选指定数据 SELECT * FROM 表名;
SELECT * FROM users; +----------+------+---------------------+ | username | sex | birth | +----------+------+---------------------+ | Lee | x | 2018-03-28 14:40:21 | +----------+------+---------------------+ 1 row in set (0.00 sec)
修改指定数据 UPDATE 表名 SET 要修改的字段='数据' WHERE 字段='数据';
UPDATE users SET sex='1' WHERE username='Lee'; Query OK, 1 row affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0
删除指定数据 DELETE FROM 表名 WHERE 字段='数据';
DELETE FROM users WHERE username='Lee';
按指定的数据排序
SELECT * FROM users ORDER BY birth DESC;
删除指定的表
DROP TABLE users;
删除指定的数据库
DROP DATABASE book;
未经允许不得转载:前端资源网 - w3h5 » SQL语句的基本命令总结