MySQL 常用语句以及基础知识
RHEL7安装MariaDB
Yum install –y mariadb mariadb-server
mysql_secure_installation //初始化数据库
如果不初始化数据库,mysql可以匿名登陆,会生成test数据库
.
.
.
.
.
一、对数据库修改
1.删除数据库
DROP DATABASE 数据库名字;
二、对一张表修改
1.重命名一张表
RENAME TABLE 原名 TO 新名字;
ALTER TABLE 原名 RENAME (TO) 新名;
2.删除一张表
DROP TABLE 表名字;
三、对一列修改
1.增加一列数据
ALTER TABLE 表名字 ADD (COLUMN) 列名字 数据类型 约束;
ALTER TABLE employee ADD> ALTER TABLE employee ADD weight INT(4) DEFAULT 120 AFTER age;
ALTER TABLE employee ADD test INT(10) DEFAULT 11 FIRST;
2.删除一列数据
ALTER TABLE 表名字 DROP (COLUMN) 列名字;
3.重命名一列
ALTER TABLE 表名字 CHANGE 原列名 新列名 数据类型 约束;
4.改变数据类型
ALTER TABLE 表名字 MODIFY 列名字 新数据类型;
四、对表的内容修改
1.修改表中某个值
UPDATE 表名字 SET 列1=值1,列2=值2 WHERE 条件;
2.删除一行记录
DELETE FROM 表名字 WHERE 条件;
.
.
.
.
Mysqld_safe & //平滑启动数据库 &是后台运行的意思
Systemctl start mariadb //启动数据库
Mysqladmin –uroot –p123 shutdown //关闭数据库
Systemctl stop mariadb //停止数据库
.
.
.
.
.
.
Mysql –uusername –ppassword //指定用户和密码登陆数据库 密码可不输入(单独输入)
Mysql –uusername –ppassword –D mysql //-D 指定进入数据库
Mysql –S /var/lib/mysql/mysql.sock //sock套接字文件 指定套接字文件sock来连接数据库
Mysql –h (ip地址) //指定登陆一台主机上的数据库 前提是指定的主机开启并运行你连接
Mysql –e “use mysql;select user,host,password from user;” //-e 通过shell进行直接控制连接数据库
-P 指定服务端端口
-C 压缩数据传输
-E 查询结果纵向显示 (库外操作)
.
.
.
.
.
数据库的创建:
Use mysql //切换数据库
Select user,host,password from user; //查询user表中user,host,password列
Create database if not exists testdb; //如果testdb库存在就不创建
.
.
.
密码管理
在库外设置数据库密码
mysqladmin –uroot password 123 //设置密码
Mysqladmin –uroot –p123 password linux //修改密码
在库内设置密码
Set password for ‘root’@’localhost’=password(‘123’);
.
.
.
MariaDB [(none)]> use mysql
MariaDB [mysql]> Insert into mysql.user(user,host,password) values(‘zhang’,’localhost’,password(‘123’)); //在mysql库中的user表中的user,host,password字段中插入数据(必须在库内!)
Grant all on mysql.* to ‘zhangsan’@’localhost’>
Create user ‘xiaoquan’@’localhost’> .
.
删除用户:
1)drop user ‘zhang’@’localhost’; //建议使用这一种删除方法!
Flush privileges //删除和创建后都需要刷新!!!
2)Delete from mysql.user where user=’zhangsan’ and password=’123’;
Flush privileges //删除和创建后都需要刷新!!!
重命名:
Rename user ‘xiaoquan’@’localhost’ to ‘zhang’@’localhost’;
3)5.7版本不可以使用!
Update mysql.user set password = password(‘xiaoquan’) where user=’root’ and host=’localhost’;
.
.
.
Mysql 密码破解
MariaDB [mysql]>> #查看约束
MariaDB [mysql]> select * from information_schema.key_column_usage where table_name="TTT"\G
索引管理:
索引--index
增加纯粹的索引(在information_schema.KEY_COLUMN_USAGE不会生成的):
MariaDB [mysql]>> MariaDB [mysql]> create index ind_name on TTT (name(100));
MariaDB [mysql]> show index from TTT\G
增加的唯一键/唯一索引: 不仅仅在show,而且在information_schema.KEY_COLUMN_USAGE里面
创建联合索引:
MariaDB [mysql]> create index ind_id_name on TTT (id,name);
重置索引:(默认引擎不支持)
MariaDB [mysql]> repair table TTT quick\G 1. row
Table: mysql.TTT
Op: repair
Msg_type: note
Msg_text: The storage engine for the table doesn't support repair
1 row in set (0.00 sec)
删除索引:
MariaDB [mysql]>> 查看索引:
MariaDB [mysql]> show index from TTT\G
.
.
.
.
【索引管理】:
索引--index
增加纯粹的索引(在information_schema.KEY_COLUMN_USAGE不会生成的):
MariaDB [mysql]>> MariaDB [mysql]> create index ind_name on TTT (name(100));
MariaDB [mysql]> show index from TTT\G
增加的唯一键/唯一索引: 不仅仅在show,而且在information_schema.KEY_COLUMN_USAGE里面
创建联合索引:
MariaDB [mysql]> create index ind_id_name on TTT (id,name);
重置索引:(默认引擎不支持)
MariaDB [mysql]> repair table TTT quick\G 1. row
Table: mysql.TTT
Op: repair
Msg_type: note
Msg_text: The storage engine for the table doesn't support repair
1 row in set (0.00 sec)
删除索引:
MariaDB [mysql]>> 查看索引:
MariaDB [mysql]> show index from TTT\G
.
.
.
.
...........................................................................................................................
insert语句总结
方法一:
insert into tablename(字段1名称,字段2名称,...) values(字段1值,字段2值,...)
#插入一条数据
insertinto tb1(name,age) values('tom',33);
#插入多条数据
Insert into tb1(name,age) values('tom',33),("jerry",30);
#不指定字段(所有字段必须有值)
Insert into tb1 values('tom',33),("jerry",30);
方法二:
insert into tablename set 字段1名称=字段1值,字段2名称=字段2值