mysql基本命令总结
1.在Ubuntu上安装MYSQL
sudo apt-get install mysql-server
sudo apt-get install mysql-client
2.安装结束后,用命令验证是否安装并启动成功
sudo netstat -tap | grep mysql
通过上述命令检查之后,如果看到有mysql 的socket处于 listen 状态则表示安装成功。
3.安装完成后,在/etc/mysql/debian.cnf目录下可以查看里面的用户名和密码
4.打开MYSQL服务
sudo service mysql start
5.使用某个用户登录数据库
mysql -u 用户名 -p 密码
6.新建数据库
CREATE DATABASE 数据库名;
7.查看当前的数据库
SHOW DATABASES;
8.选择连接其中一个数据库
USE 数据库名;
9.查看表
SHOW TABLES;
10.新建数据表
CREATE TABLE 表的名字
(
列名a 数据类型(数据长度),
列名b 数据类型(数据长度),
列名c 数据类型(数据长度)
);
11.查看当前的数据表
show tables;
12.查看表中的内容
SELECT * FROM 表名;
13.向表中插入数据
INSERT INTO 表的名字(列名a,列名b,列名c) VALUES(值1,值2,值3);
注意:数据类型为CHAR,VARCHAR,TEXT,DATE,TIME,ENUM等类型的数据需要单引号修饰,而INT,FLOAT,DOUBLE等则不需要。
14.删除数据库
DROP DATABASE 数据库名
15.若存储学生信息,有两人姓名,身高,年龄都相同,无法区分,则需用到主键作为唯一的标识符,准确定位到一行,因此主键不能有重复记录且不能为空。
定义主键的方法如下
CREATE TABLE employee
(
id INT(10) PRIMARY KEY,
name CHAR(20)
)
16.默认值约束,当DEFAULT 约束的列,插入数据为空时,将使用默认值。
people_num INT(10) DEFAULT'10'
17.唯一约束,规定一张表中指定的一列的值必须不能有重复值。
UNIQUE(列名)
18.非空约束
列名 数据类型(数据长度)NOT NULL
19.外键约束
一个表可以有多个外键,每个外键必须 REFERENCES (参考) 另一个表的主键,被外键约束的列,取值必须在它参考的列中有对应值。
FOREIGN KEY (外键列名)REFERENCES 表名(列名)
20.SELECT 语句格式:
SELECT 要查询的列名 FROM 表名字 WHERE 限制条件;
WHERE限制条件可以有数学符号(=,<,>,<=,>=),也可以有逻辑关系(OR,AND),关键字IN,NOT IN.
关键字 LIKE 可用于实现模糊查询,常见于搜索功能中。和 LIKE 联用的通常还有通配符,SQL中的通配符是 _ 和 % 。其中 _ 代表一个未指定字符,% 代表不定个未指定字符
21.对结果排序
ORDER BY 排序的关键字 ASC(生序)或者DESC(降序)
13.重命名一张表
RENAME TABLE 原名 TO 新名字;
ALTER TABLE 原名 RENAME 新名;
ALTER TABLE 原名 RENAME TO 新名字;
14.删除一张表
DROP TABLE 表的名字;
15.增加一列(默认增加到最后面)
ALTER TABLE 表名字 ADD COLUMN 列名字 数据类型 约束;
ALTER TABLE 表名字 ADD 列名字 数据类型 约束;
把新增加的列插入在指定表名后面的位置
ALTER TABLE 表名字 ADD 列名字 数据类型 约束 AFTER 指定表名;
把新增加的列放在第一列的位置
ALTER TABLE 表名字 ADD 列名字 数据类型 约束 FIRST;
16.删除一列
ALTER TABLE 表名 DROP COLUMN 列名字;
ALTER TABLE 表名 DROP 列名字;
17.重命名一列
ALTER TABLE 表名 CHANGE 原列名 新列名 数据类型 约束;
该指令也可用来修改数据类型
18.改变数据类型
ALTER TABLE 表名 MODIFY 列名字 新数据类型;
19.修改表中某个值
UPDATE 表名字 SET 列1=值1,列2=值2 WHERE 条件;
20.删除一行记录
DELETE FROM 表名字 WHERE 条件;
21.索引
当表中有大量记录时,若要对表进行查询,没有索引的情况是全表搜索:将所有记录一一取出,和查询条件进行一一对比,然后返回满足条件的记录。这样做会消耗大量数据库系统时间,并造成大量磁盘 I/O 操作。
而如果在表中已建立索引,在索引中找到符合查询条件的索引值,通过索引值就可以快速找到表中的数据,可以大大加快查询速度。
一些字段不适合创建索引,比如性别,这个字段存在大量的重复记录无法享受索引带来的速度加成,甚至会拖累数据库,导致数据冗余和额外的 CPU 开销。
建立索引:
ALTER TABLE 表名字 ADD INDEX 索引名(列名);
CREATE INDEX 索引名 ON 表名字(列名);
22.视图
视图是一个虚拟的表,依赖于原来表中的数据,一旦原来表中的数据发生改变,显示在视图中的数据也会改变,使用时可以把它当做一张表。
创建视图的语句:
CREATE VIEW 视图名(列a,列b,列c) AS SELECT 列1,列2,列3 FROM 表名字;
23.导入纯数据文件
LOAD DATA INFILE ’文件路径和文件名‘ INTO TABLE 表名字;
SQL语句的导入方式
source *.sql
24.导出
SELECT 列1,列2 INTO OUTFILE '文件路径和文件名' FROM 表名字;
25.备份
备份与导出的区别:导出的文件只是保存数据库中的数据;而备份,则是把数据库的结构,包括数据、约束、索引、视图等全部另存为一个文件。
使用mysqldump 备份的语句(在终端中执行)
mysqldump -u root 数据库名>备份文件名;
mysqldump -u root 数据库名 表名字> 备份文件名;
26.恢复
首先先建数据库
CREATE DATABASE 数据库名;
然后在终端输入 mysql -u root 数据库名<备份文件名
mysql基本命令总结的更多相关文章
- MySQL基本命令和常用数据库对象
MySQL基本命令: 连接远程主机的MySQL服务(为了保证安全性,执行下面命令时,可以省略-p后面的密码,执行命令后系统会提示输入密码) mysql -p 密码 -u 用户名 -h 主机地址 --d ...
- MySQL基本命令操作及数据库基本概念
MySQL基本命令操作及数据库基本概念 1.数据库的基本概念 2.主流数据库介绍 3.关系型非关系型数据库介绍 4.Mysql 安装方法 5.Mysql 基本操作命令 1.数据库的基本概念: 数据库的 ...
- MySQL基本命令语法之select
目录 MySQL基本命令语法之select 查询去重以及常数 空值与着重号 着重号 空值 运算符 算术运算符 比较运算符 符号型 非符号型 逻辑运算符 优先级 排序分页 排序 分页 拓展 多表查询 等 ...
- MySQL基本命令脚本
一.基本命令 1.启动服务 说明:以管理员身份运行cmd 格式:net start 服务名称 示例:net start mysql57 2.停止服务 说明:以管理员身份运行cmd 格式:net sto ...
- 数据库mysql 基本命令
.....= =.... 进入mysql: mysql -uroot ; 创建一个数据库: create database [数据库名字]; (注意最后的分号不能漏) 删除一个数据库:drop dat ...
- MySQL基本命令
1.修改root用户登录密码: [root@17track bin]# /usr/local/mysql/bin/mysqladmin -u root password 'MyPassword' my ...
- mysql基本命令整理
1.replace into(insert into 的增强版) replace into tbl_name(col_name, ...) values(...)replace into tbl_na ...
- linux下mysql基本命令
1, 创建mysqld数据库的管理用户: 要把root用户设置为管理员,我们应该运行下面的命令: # mysqladmin -u root password 一般情况下, ...
- DOS命令行下mysql 基本命令
第一招.mysql服务的启动和停止 net stop mysql net start mysql 第二招.登陆mysql 语法如下: mysql -u用户名 -p用户密码 键入命令mysql -uro ...
- mysql基本命令(转)
连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空 ...
随机推荐
- eclipse出现jdk版本更新导致无法启动
启动出现的问题,截图: 解决办法: 1.找到自己jdk安装的bin目录,我的安装目录是:F:\jdk\bin 2.修改eclipse安装目录下的eclipse.ini,添加 -vmF:\jdk\bin ...
- BUAA-OO-表达式解析与求导
BUAA-OO-表达式解析与求导 解析 按照常规,解析这一部分我们分为词法分析与语法分析.当然由于待解析的字符串较简单,词法分析器和语法分析器不必单独实现. 词法分析器 按照常规,我们先手写一个词法分 ...
- java下载远程文件到本地
java下载远程文件到本地(转载:http://www.cnblogs.com/qqzy168/archive/2013/02/28/2936698.html) /** * 下载远程文 ...
- git 解决每次更新代码都要输入用户名密码的解决方案
使用git pull或者git push每次都需要输入用户名和密码很繁琐,耽误时间,现在教大家一条命令实现保存用户名和密码不用再输入 git config --global credential.he ...
- selenium启动报错“ incorrect JSON status mapping for 'unknown error' (500 expected)”
前面讲了工程启动报错“selenium启动报错Unable to read VR Path Registry from C:\Users\clinva\AppData\Local\openvr\ope ...
- json & pickle 模块
用于序列化的两个模块 json,用于字符串 和 python数据类型间进行转换 pickle,用于python特有的类型 和 python的数据类型间进行转换 dump和load 都各自使用一次 py ...
- Mac 与 windows eclipse 快捷键对照
Mac windows 方法注释 option+command+j alt+shift+j 在方法里上右击,source -> Generate Element Comment 删除当前行 ...
- Java数组的声明和遍历
Java 数组 数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同. Java 语言中提供的数组是用来存储固定大小的同类型元素. 你可以声明一个数组变量,如 n ...
- 【java】java基本用法记录
java用法总结 计时 long startTime = System.nanoTime(); solution.process(inputFile); long endTime = System.n ...
- 可持久化线段树——区间更新hdu4348
和线段树类似,每个结点也要打lazy标记 但是lazy标记和线段树不一样 具体区别在于可持久化后lazy-tag不用往下传递,而是固定在这个区间并不断累加,变成了这个区间固有的性质(有点像分块的标记了 ...