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 数据库名<备份文件名

最新文章

  1. codeforces Expecting Trouble
  2. 线程小demo
  3. SVN 忽略获取和提交obj、bin文件夹
  4. python challenge第1关--NoteBook上的“乱码”
  5. iOS语音合成
  6. PLS-00201: 必须声明标识符 &#39;UTL_FILE&#39;
  7. SpringMVC与Struts2关于controller线程安全问题
  8. Windows下GIT安装与使用(上传远程端)
  9. Python报错TypeError: &#39;&lt;&#39; not supported between instances of &#39;str&#39; and &#39;int&#39;
  10. uCos-II移值(一)
  11. Linux-day1-上课笔记
  12. json的xpath:简易数据查询
  13. Java核心技术卷一基础知识-第11章-异常、断言、日志和调试-读书笔记
  14. 雅克比迭代算法(Jacobi Iterative Methods) -- [ mpi , c++]
  15. Maven setting.xml 文件配置
  16. vmware中的linux虚拟机配置以nat模式上网,并用xshell连接该虚拟机
  17. java synchronized 同步详解
  18. 将图片转换为Base64编码的字符串
  19. linux中的定时任务创建
  20. Nginx日志切割工具——logrotate 使用记录

热门文章

  1. linux下安装svn1.7
  2. 【作业4.0】HansBug的第四次面向对象课程思考
  3. 学习笔记-canny边缘检测
  4. 读spring源码(二)-XmlBeanDefinitionReader-解析BeanDefinition
  5. Pytorch学习笔记(二)---- 神经网络搭建
  6. 【转】Python多进程编程
  7. linux 如何截取一段时间内log日志
  8. 在django admin中添加自定义视图
  9. 前端笔记知识点整合之JavaScript(二)关于运算符&amp;初识条件判断语句
  10. Python 爬虫-进阶开发之路