Centos6.8下的MySQL安装方法:
yum install mysql
-server mysql mysql
-devel
这是一种较为简单的安装方法,但是安装的版本不是最新的,如果要安装最新版本,可以去MySQL官方安装,这里提供地址:https://www.mysql.com/downloads/,安装完毕后可以使用命令rpm -qi mysql-server 查看安装的MySQL版本,在linux下启动关闭MySQL可以使用命令:service mysqld start/stop 或 /etc/init.d/mysqld start/stop,首次连接到MySQL服务器时,需要设置MySQL的登陆密码,即比如:mysqladmin -u root password ‘guochen’ (其中-u表示user),如果不想要每次开启都得手动启动 service mysqld start,那么chkconfig mysqld on即可
mysql -uroot -p
mysql -h [ip] -uroot -p
quit
MySQL配置文件保存的目录在/etc/my.cnf,实际上我们可以在my.cnf这个配置文件中修改MySQL的默认保存位置。当新建一个数据库文件,其数据保存在/var/lib/mysql/目录下,比如一些数据库信息,表信息等等。MySQL的日志文件在:/var/log/mysqld.log下。MySQL支持网络服务,默认为TCP服务,绑定的默认端口为3306,可以通过端口连接到MySQL服务。
SQL语句分类:
1) Data Definition Language(DDL) CREATE-在数据库中创建对象 ALTER-修改数据库结构 DROP-删除对象 RENAME-重命名对象//错误
2) Data Manipulation Language(DML) SELECT-从数据库中获取数据 INSERT-向一个表中插入数据 UPDATE-更新一个表中的已有数据 DELETE-删除表中数据
3) Data Control Language(DCL) GRANT-赋予一个用户对数据库或数据表等的指定权限 REVOKE-删除一个用户对数据库或数据表等的指定权限
4) Transacion Control(TCL) COMMIT-保存数据操作 SAYEPOINT-为方便rollback标记一个事务点 ROLLBACK-从最后一次COMMIT中恢复到提交前状态
初识SQL语句:
SHOW DATABASES;
SHOW TABLES;
SHOW TABLES
FROM [数据库名];
USE [数据库];
SELECT VERSION();
SELECT CURRENT_DATE();
SELECT NOW();
CREATE DATABASES [要创建的数据库名称];
DROP DATABASES [要删除的数据库名称];
INTEGER(SIZE) SMALLINT(SIZE) TINYINT(SIZE)
DECIMAL(SIZE, d) NUMERIC(SIZE, d)
CHAR(SIZE)
VARCHAR(SIZE)
DATE(yyyymmdd)
CREATE
TABLE [表名](
[属性名] [数据类型] NOT NULL;
[属性名] [数据类型] (NULL);
...
[属性名] [数据类型];
)
DESCRIBE [表名];
或
SHOW COLUMNS
FROM [表名];
DROP
TABLE [表名];
ALTER
TABLE ic_course RENAME course;
ALTER
TABLE ic_course ADD [COLUMN] link varchar(
100) [FIRST | AFTER [属性名]];
ALTER
TABLE ic_course ADD [COLUMN] ([属性名
1] [数据类型], [属性名
2] [数据类型], ...)
ALTER
TABLE ic_course DROP [COLUMN] link;
ALTER
TABLE ic_course MODIFY teacher varchar(
100);
ALTER
TABLE ic_course MODIFY teacher varchar(
100) NULL;
ALTER
TABLE ic_course CHANGE COLUMN teacher lecture varchar(
100);
INSERT INTO [表名] VALUES(值
1,值
2,...);
或
INSERT INTO [表名](列
1,列
2..) VALUES(值
1,值
2,...);
ps:如果表中有一列比如值
1的属性为AUTO_INCREMENT,即不需要我们为其插入的数据,我们可以INSERT INTO [表名] VALUES(NULL/DEFAULT, 值
2, 值
3...);把值
1设置为NULL或DEFAULT,系统会自动插入
INSERT INTO [表名]
SET (列
1)=值
1, (列
2)=值
2, (列
3)=值
3, ..;
INSERT INTO [表名]
SELECT [属性]
FROM [表名] WHERE [条件];
ps:
INSERT INTO test(age)
SELECT age
FROM student WHERE id >
30;
INSERT INTO tdb_goods_cates(cates_name)
SELECT goods_cate
FROM tdb_goods GROUP BY goods_cate;
SELECT [DISTINCT] [列
1,列
2,...]
FROM [表名];
或
SELECT [DISTINCT] *
FROM [表名];
SELECT [属性
1]
FROM [表名] GROUP BY [属性
1];
SELECT *
FROM [表名] WHERE [条件
1]
AND [条件
2];
SELECT *
FROM [表名] WHERE [条件
1]
OR [条件
2];
SELECT *
FROM [表名] ORDER BY [列名];
SELECT *
FROM [表名] ORDER BY [列名] DESC;
SELECT [列名]
FROM [表名] WHERE [列] [运算符] [值];
ps:
SELECT *
FROM course WHERE course_name =
'GNOME';
运算符:
= [等于]
<> [不等于]
> [大于]
< [小于]
>= [大于等于]
<= [小于等于]
BETWEEN [在某范围内]
LIKE [搜索某种模式]
DELETE FROM [表名] WHERE [列] [运算符] [值];
或
DELETE FROM [表名];
UPDATE [表名]
SET [列名] = [新值] WHERE [列名] = [值];
ps:UPDATE course
SET id =
3 WHERE course_name =
'sjjg';
一般情况下WHERE后的判定条件是唯一记录的,不能说筛选出多条记录,然后多条记录的某一个数据都发生改变.比如上面这个例子实际上不合理,因为可能一个数据库中有不同老师的sjjg,所以一般表中的id是唯一确认的,就是用来放在WHERE语句中