MySQL常用基本SQL语句总结

1. 常见命令

连接本地数据库与远程数据库(172.16.xx.xx:3306):

mysql -h localhost -u root -p123
mysql -h 172.16.xx.xx -P 3306 -u root -p 

2. DDL

数据定义语言(Data Definition Lanuage, DDL)定义了数据库模式,包括CREATE、ALTER、DROP、TRUNCATE、COMMENT与RENAME语句。

创建(CREATE)

create语句创建了一张表:

CREATE TABLE `device_label` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键-自增长ID',
`origin_model` varchar(64) COLLATE utf8_bin NOT NULL COMMENT '收集机型',
`origin_vendor` varchar(64) COLLATE utf8_bin NOT NULL COMMENT '收集厂商',
`vendor` varchar(32) COLLATE utf8_bin NOT NULL COMMENT '标注厂商',
`model` varchar(32) COLLATE utf8_bin NOT NULL COMMENT '标注品牌',
PRIMARY KEY (`id`),
UNIQUE KEY `device_key` (`origin_model`,`origin_vendor`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='设备标注表';
改(ALTER)

ALTER TABLE改变了表的结构,支持如下操作,

修改列类型与列名:

alter table device_label modify origin_model varchar(32);
alter table device_label change origin_model device_model varchar(16); 

追加列:

alter table device_label add os_type varchar(8) COLLATE utf8_bin NOT NULL COMMENT '操作系统' after id; 

修改列之间的顺序:

alter table device_label modify os_type varchar(8) after origin_model; 

修改primary key:

alter table device_label drop primary key, add primary key (`origin_model`,`origin_vendor`); 

清空(TRUNCATE)

TRUNCATE为清空表,相当于delete from 不指定where条件。

truncate device_label;

3. DCL

数据控制语言(Data Control Language, DCL)用于用户权限的管理,包括了GRANT与REVOKE命令。

授权(GRANT)

MySQL有很精细的权限控制:

•细致的权限分类
•DB -> 表 -> 列,权限的粗细粒度
•对host(可通配符匹配)控制

创建hive用户,并赋予以localhost访问 db1 所有表的权限:

CREATE USER 'hive'@'localhost' IDENTIFIED BY 'mypass';
GRANT ALL ON db1.* TO 'hive'@'localhost';
-- 可简写为
GRANT ALL ON db1.* TO 'hive'@'localhost' IDENTIFIED BY 'mypass'; 

也可以只赋予某个表的select权限:

GRANT SELECT ON db2.invoice TO 'hive'@'localhost'; 

4. DML

数据定义语言(Data manipulation language, DML)主要用于表达数据库的查询与更新,主要包括增删改查(INSERT,UPDATE,DELETE,SELECT)。

增(INSERT)

增加行数据:

insert into device_label (origin_model, origin_vendor, vendor, model)
values (
'h9', 'bbk', '步步高', 'H9'
); 

复制一个表到另外一个表:

insert into device_label_copy (`origin_model`, `origin_vendor`, `vendor`, `model`)
select `origin_model`, `origin_vendor`, `vendor`, `model`
from device_label; 

此外,MySQL支持以load data方式将结构化的纯文本入库:

load data local infile 'dvc-label.csv'
into table device_label
fields terminated by ','
ignore 1 lines
(origin_model, origin_vendor, vendor, model); 

若出现ERROR 1148 (42000)错误,则用mysql --local-infile -u user -ppasswd 命令进入mysql。

改(UPDATE)

更新列的值:

update device_label
set origin_model = 't2', origin_vendor = 'xiami'
where vendor = '锤子'; 

删(DELETE)

根据where条件删除行:

delete from device_label where origin_vendor = 'alps'; 

查(SELECT)

查询标注机型数超过10的厂商:

select vendor, count(distinct model) as models
from device_label
group by vendor
having models > 10

以上所述是小编给大家介绍的MySQL常用基本SQL语句总结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • MySql常用操作SQL语句汇总

    MySQL的常见操作在这里先做一下总结,已经整合到代码里面,经过检验无误. 复制代码 代码如下: /*创建一个数据库*/ create database xuning_test; /*说明当时使用数据库对象*/ use xuning_test; /*向数据库中添加表并且定义表的结构*/ create table person(  id int not null,  name varchar(16) not null,  sex varchar(16) not null,  age int not

  • mysql 常用数据库语句 小练习

    闲来无事,上班时找了个练习来写,联系题目是针对sql server 2000的以下为mysql 一 单词解释(2分/个) 34分 Data 数据 Database 数据库 RDBMS 关系数据库管理系统 GRANT 授权 REVOKE 取消权限 DENY 拒绝权限 DECLARE 定义变量 PROCEDURE存储过程 事务 Transaction 触发器 TRIGGER 继续 continue 唯一 unqiue 主键 primary key 标识列 identity 外键 foreign ke

  • 浅谈MySQL中优化sql语句查询常用的30种方法

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描. 3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from

  • PHP之Mysql常用SQL语句示例的深入分析

    1.插入数据insert into表名(列名1,列名2,列名..) values(值1,值2,值...); insert into product(name, price, pic_path) values('Nike',500,'uploads/3245.jpg'); 2.更新数据update 表名set列名1=值1,列名2=值2[where条件]; update product set name='LiNing', price=50where id=2; 3.删除数据deletefrom表名

  • MongoDB与MySQL常用操作语句对照

    一.MongoDB对MySQL常用的SQL语句对应的实现 复制代码 代码如下: -------------- MySQL: SELECT * FROM user Mongo: db.user.find() -------------- MySQl: SELECT * FROM user WHERE name = 'foobar' Mongo: db.user.find({ 'name' : 'foobar' }) -------------- MySql: INSERT INTO user ('

  • 整理MySql常用查询语句(23种)

    废话不多了,直接贴代码了 一查询数值型数据: SELECT * FROM tb_name WHERE sum > 100; 查询谓词:>,=,<,<>,!=,!>,!<,=>,=< 二查询字符串 SELECT * FROM tb_stu WHERE sname = '小刘' SELECT * FROM tb_stu WHERE sname like '刘%' SELECT * FROM tb_stu WHERE sname like '%程序员' SE

  • mysql建表常用sql语句个人经验分享

    连接:mysql -h主机地址 -u用户名 -p用户密码 (注:u与root可以不用加空格,其它也一样) 断开:exit (回车) 创建授权:grant select on 数据库.* to 用户名@登录主机 identified by \"密码\" 修改密码:mysqladmin -u用户名 -p旧密码 password 新密码 删除授权: revoke select,insert,update,delete om *.* from test2@localhost; 显示数据库:sh

  • mysql常用命令行操作语句

    第一招.mysql服务的启动和停止 net stop mysql net start mysql 第二招.登陆mysql 语法如下: mysql -u用户名 -p用户密码 键入命令mysql -uroot -p, 回车后提示你输入密码,输入12345,然后回车即可进入到mysql中了,mysql的提示符是: mysql> 注意,如果是连接到另外的机器上,则需要加入一个参数-h机器IP 第三招.增加新用户 格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by

  • Mysql常用sql语句汇总

    1.mysql 导出文件: SELECT `pe2e_user_to_company`.company_name, `pe2e_user_to_company`.company_code, `users`.name, `users`.uid, `users`.mail, `pe2e_email_notification_email`.`email_cc` FROM `users` , `pe2e_user_to_company` LEFT JOIN `pe2e_email_notificatio

  • MySQL常用基本SQL语句总结

    1. 常见命令 连接本地数据库与远程数据库(172.16.xx.xx:3306): mysql -h localhost -u root -p123 mysql -h 172.16.xx.xx -P 3306 -u root -p 2. DDL 数据定义语言(Data Definition Lanuage, DDL)定义了数据库模式,包括CREATE.ALTER.DROP.TRUNCATE.COMMENT与RENAME语句. 创建(CREATE) create语句创建了一张表: CREATE T

  • mysql建表常用的sql语句汇总

    最近跟项目,写后台需要用到SQL语句,就整理了一下mysql建表常用sql语句,并写几个可执行SQL脚本,方便日后复习查看以及使用: 连接:mysql -h主机地址 -u用户名 -p用户密码 (注:u与root可以不用加空格,其它也一样) 断开:exit (回车) 创建授权:grant select on 数据库.* to 用户名@登录主机 identified by \"密码\" 修改密码:mysqladmin -u用户名 -p旧密码 password 新密码 删除授权: revok

  • MySQL一些常用高级SQL语句详解

    目录 一.MySQL进阶查询 二.MySQL数据库函数 三.MySQL存储过程 总结 一.MySQL进阶查询 首先先创建两张表 mysql -u root -pXXX #登陆数据库,XXX为密码 create database jiangsu; #新建一个名为jiangsu的数据库 use jiangsu; #使用该数据库 create table location(Region char(20),Store_name char(20)); #创建location表,字段1为Region,数据类

  • MySQL 常用的拼接语句汇总

    前言:在MySQL中 CONCAT ()函数用于将多个字符串连接成一个字符串,利用此函数我们可以将原来一步无法得到的sql拼接出来,在工作中也许会方便很多,下面主要介绍下几个常用的场景. 注:适用于5.7版本 低版本可能稍许不同. 1.拼接查询所有用户 SELECT DISTINCT CONCAT( 'User: \'', USER, '\'@\'', HOST, '\';' ) AS QUERY FROM mysql.USER; # 当拼接字符串中出现'时 需使用\转义符 2.拼接DROP t

  • Navicat Premium操作MySQL数据库(执行sql语句)

    一. Navicat 简介 1. 什么是Navicat ? Navicat是一个强大的MySQL数据库管理和开发工具.Navicat为专业开发者提供了一套强大的足够尖端的工具,但它对于新用户仍然是易于学习.Navicat,使用了极好的图形用户界面(GUI),可以让你用一种安全和更为容易的方式快速和容易地创建.组织.存取和共享信息.用户可完全控制 MySQL 数据库和显示不同的管理资料,包括一个多功能的图形化管理用户和访问权限的管理工具,方便将数据从一个数据库移转到另一个数据库中(Local to

  • MySQL高级进阶sql语句总结大全

    目录 SELECT DISTINCT WHERE ANDOR IN BETWEEN 通配符 LIke ORDERBY 函数 city表格 字符串函数 常用函数实例: concat substr trim region replace groupby having 别名 子查询 exists 表链接 使用子查询实现多表查询 createview union 交集值 无交集值 case 空值(null)和无值(’')的区别 正则表达式 存储过程 创建存储过程 存储过程的参数 查看存储过程 删除存储过

  • MySQL中使用SQL语句对字段进行重命名

    MySQL中,如何使用SQL语句来对表中某一个字段进行重命名呢?我们将使用alter table 这一SQL语句. 重命名字段的语法为:alter table <表名> change <字段名> <字段新名称> <字段的类型>. 现在我们来尝试把test表中的t_name字段重命名为t_name_new字段. 1.首先查看一下当前test表的结构 mysql> describe test; +------------+-------------+---

  • MySQL中使用SQL语句查看某个表的编码方法

    MySQL中,如何使用SQL语句来查看某个表的编码呢?我们使用show create table 这一SQL语句来解决这个问题. show create table可以查看创建这个表的SQL语句脚本,它的基本语法是: show create table <表名>; 我们用它看看test表的create脚本: mysql> show create table test; +-------+--------------------------------------------- -----

  • MySQL数据库基本SQL语句教程之高级操作

    目录 前言: 一.克隆表 1.1克隆方法一(将表与内容分开克隆) 1.2克隆方法二(将表与内容一起复制) 二.清空表,删除表内的所有数据 2.1方法一 2.2方法二 2.3小小结之drop,truncate,eleted的对比 三.创建临时表 四.用户管理 4.1新建用户 4.2使用明文密码创建用户 4.3使用密文创建数据库 五.查看用户信息 六.重命名用户 七.删除用户 八.密码管理 8.1修改当前用户密码 8.2修改其他用户的密码 8.3忘记root密码 8.3.1给root设置密码 九.数

随机推荐