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 表名字;

【注意】若出现ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement。可以在infile 前面加上 Local 即可解决。

SQL语句的导入方式

source *.sql

24.导出

SELECT 列1,列2 INTO OUTFILE '文件路径和文件名' FROM 表名字;

25.备份

备份与导出的区别:导出的文件只是保存数据库中的数据;而备份,则是把数据库的结构,包括数据、约束、索引、视图等全部另存为一个文件。

使用mysqldump 备份的语句(在终端中执行)

mysqldump -u root 数据库名>备份文件名;

mysqldump -u root 数据库名 表名字> 备份文件名;

26.恢复

首先先建数据库

CREATE DATABASE 数据库名;

然后在终端输入 mysql -u root 数据库名<备份文件名

posted @ 2019-03-17 16:54  开心消消乐a  阅读(252)  评论(0编辑  收藏  举报