面试之MySQL基本命令
既然要操作数据库就从数据库链接写起,包括建库、建表、增删该查字段及约束,删库,删表的数据,以下主要是对我以往面试的总结,欢迎补充!
一、数据库连接
1、连接本机(p和密码123456之间无空格)
mysql -u username -p123456;
2、远程连接
mysql -h 要访问的ip地址 -u username -p123456;
二、对库的操作
create database db_name;
drop database db_name;
show databases;
use db_name;
rename database db_name to new_db_name
mysqldump -u username -p123456 db_name > 导出的文件名; #备份
三、对表的操作
1、建表/删表/复制表/备份表
creat table db_name.tb_nane(
id smallint unsigned auto_increment,
username varchar(20) not null unique key,
sex enum("1","2") default "1")
drop table (if exists) tb_name;
create table tb_name2 select * from db_name.tb_name;
mysqldump -u username -p123456 db_name tb_name> 导出的文件名;
2、插入数据
insert into tb_name (col_name1,col_name2)values (值1,值2);
insert into tb_name.tb_name(username,sex)values("zhang",1);
insert into tb_name.tb_name values (1,"wang",1),(2,"lili",2),(3,"haha",2);
3、删除数据
delete col_name from tb_name where col_name=值; #删除某条记录
truncate table tb_name; #删除所有记录
4、增加/删除单列
alter table tb_name add col_name col_defination [first |after col_name];
alter table tb-name drop col_name;
5、增加/删除约束
alter table tb_name add primary key col_name; #主键(主键自动为not null;每张表只有一个主键)
alter table tb_name add unique col_name;
alter table tb_name add index index_name col_name;
alter table tb_name drop primary key;
6、修改约束
alter table tb_name modify id int unsigned; #修改列id的类型为int unsigned
alter table tb_name change id sid int unsigned; #修改列id的名字为sid,而且把属性修改为int unsigned
7、查看表结构
show colums from tb_name;
desc tb_name;
8、限制查询返回结果
1> limit(选出10到20条)<第一个记录集的编号是0>
select * from students order by id limit 9,10;
2> top选出前十条记录
select top 10 from students;
9、MySQL中的外连接,分为左外连接和右连接,即除了返回符合连接条件的结果之外,还要返回左表(左连接)或者右表(右连接)中不符合连接条件的结果,相对应的使用NULL对应。
select col_name from tb_name1 left join tb_name2 on tb_name1.col=tb_name2.col;
10、联合字符或者多个列(将列id与":"和列name和"="连接)
select concat(id,':',name,'=') from students;
面试之MySQL基本命令的更多相关文章
- MySQL基本命令和常用数据库对象
MySQL基本命令: 连接远程主机的MySQL服务(为了保证安全性,执行下面命令时,可以省略-p后面的密码,执行命令后系统会提示输入密码) mysql -p 密码 -u 用户名 -h 主机地址 --d ...
- php面试专题---mysql数据库分库分表
php面试专题---mysql数据库分库分表 一.总结 一句话总结: 通过数据切分技术将一个大的MySQLServer切分成多个小的MySQLServer,既攻克了写入性能瓶颈问题,同一时候也再一次提 ...
- php面试专题---MySQL分表
php面试专题---MySQL分表 一.总结 一句话总结: 分库分表要数据达到一定的量级才用,这样才有效率,不然利不一定大于弊,可能会增加一次I/O消耗 1.分库分表的使用量级是多少? 单表行数超过 ...
- php面试专题---MySQL分区
php面试专题---MySQL分区 一.总结 一句话总结: mysql的分区操作还比较简单,好处是也不用自己动手建表进行分区,和水平分表有点像 1.mysql分区简介? 一个表或索引-->N个物 ...
- php面试专题---MYSQL查询语句优化
php面试专题---MYSQL查询语句优化 一.总结 一句话总结: mysql的性能优化包罗甚广: 索引优化,查询优化,查询缓存,服务器设置优化,操作系统和硬件优化,应用层面优化(web服务器,缓存) ...
- php面试专题---MySQL常用SQL语句优化
php面试专题---MySQL常用SQL语句优化 一.总结 一句话总结: 原理,万变不离其宗:其实SQL语句优化的过程中,无非就是对mysql的执行计划理解,以及B+树索引的理解,其实只要我们理解执行 ...
- php面试专题---Mysql索引类型、介绍及优点
php面试专题---Mysql索引类型.介绍及优点 一.总结 一句话总结: 精品视频讲解里面的资料来源也是通过各种资料,比如博客.书等,只不过是基于讲解者的知识体系有整理的过程 1.B-Tree索引三 ...
- php面试专题---Mysql索引原理及SQL优化
php面试专题---Mysql索引原理及SQL优化 一.总结 一句话总结: 注意:只写精品 1.为表设置索引要付出代价 是什么? 存储空间:一是增加了数据库的存储空间 修改插入变动索引时间:二是在插入 ...
- MySQL基本命令操作及数据库基本概念
MySQL基本命令操作及数据库基本概念 1.数据库的基本概念 2.主流数据库介绍 3.关系型非关系型数据库介绍 4.Mysql 安装方法 5.Mysql 基本操作命令 1.数据库的基本概念: 数据库的 ...
随机推荐
- iOS探究UITableView的内部代码,仿UITableView自定义
大家都知道UITableView,最经典在于循环利用,这里我自己模仿UITableView循环利用,写了一套自己的TableView实现方案,希望大家看了我的文章,循环利用思想有显著提升. 研究UIT ...
- FragmentTabHost+FrameLayout实现底部菜单栏
现在一般的app都使用底部菜单栏,那具体怎么实现的呢!我们就来看看 首先给大家展示一下布局文件 1 <LinearLayout xmlns:android="http://schema ...
- POJ3259负环判定
题意:有n个顶点,m条边,然后有w个洞,过每个洞的时间为-ti,求是否会时光倒流 分析:就是求是否存在负圈,用Bellman-Floyd判定是否存在负圈即可,注意是无向图,所以路径是双向可达的 #in ...
- 3个人一起写的EI论文可以检索到啦~ --> Exploring the use of a 3D Virtual Environment in Chinese Cultural Transmission
<a href='http://www.engineeringvillage.com/blog/document.url?mid=cpx_10ed754f14b5b7381b6M764b1017 ...
- [转]解决Maven报错"Plugin execution not covered by lifecycle configuration"
[转]解决Maven报错"Plugin execution not covered by lifecycle configuration" 导入Myabtis源码后,POM文件会报 ...
- 信息指纹(Fingerprint)及其应用
1.应用: i.网页地址去重 网页地址有100个字符,存储5000亿个网址本身需要50T的容量,而Hash表的存储效率只有50%,所有存储爬虫已经爬过的网址需要100T的 ...
- builds error
使用cocoapods 出现Undefined symbols for architecture i386: _OBJC_CLASS_$_XXXXXXX", referenced from: ...
- IOS开发-UI学习-sqlite数据库的操作
IOS开发-UI学习-sqlite数据库的操作 sqlite是一个轻量级的数据库,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了,而且它的处理速度比Mysql.PostgreSQL这 ...
- IOS开发-UI学习-UISlider(滑动条)的使用
滑动条即UISlider,是我们常见的软件中设置音量,亮度等的滑条,初始化及基本设置如下: // 新建滑动条 UISlider *slider = [[UISlider alloc]initWithF ...
- EntityFrameWork分页
EF分页代码 using System; using System.Collections.Generic; using System.Linq; using System.Web; using Sy ...