【mysql】的基本使用

【mysql】的基本使用


登录常用参数
【-u USERNAME】用户名
【-p PASSWORD】密码
【-h MYSER_SERVER】
例如:mysql -uroot -p -h 127.0.0.1 或者 :mysql -u root -p -h 127.0.0.1
用户:USERNAME@HOST 
注意:mysql的用户和允许他登录的客户端主机是绑定的,上面的HOST就是客户端主机地址


退出mysql
quit | exit | \q
获取帮助
\h | help


连接方式(本地)
linux:socket(套接字文件)文件默认路径:/var/lib/mysql/mysql.sock
windows:memory(共享内存)


mysql客户端:
交互式模式
批处理模式:执行mysql脚本


交互式模式中命令类别:
客户端命令
服务器端命令
都必须使用语句结束符,默认为分号;
[show databases;]查看当前有哪些数据库
字段名称,数据类型,类型修饰符(约束,限制)
字符 (默认不区分大小写)
CHAR(n) 
VARCHAR(n)
BINARY(n)//和char差不多,但区分大小写,存储格式为二进制
VARBINARY(n)
TEXT(n)
BLOB(n)//二进制的大对象

数值
精确数值
整形
TINYINT//小整形 一个字节 -128~+127 或者0-255
SMALLINT //2个字节
MEDIUMINT //3个字节
INT //4个字节
BIGINT //8个字节
修饰符:UNSIGNED,无符号
NOT NULL
十进制
DECTMAL

近似数值
浮点型
FLOAT
DOUBLE
日期时间 
DATE
TIME
DATETIME
STAMP
布尔
内置:ENUM,SET

DDL(Data Definition Language)数据库模式定义语言
CREATE
ALTER
DROP

DML (Data Definition Language)数据定义语言
INSERT
UPDATE
DELETE
DCL(Data Control Language)是数据库控制语言。是用来设置或更改数据库用户或角色权限的语句
GRANT
REVOKE


【创建数据库】
CREATE DATABASE db_name;
CREATE DATABASE IF NOT EXISTS db_name;//如果数据库不存在就创建
【删除数据库】
DROP DATABASE db_name;


设定默认数据库(客户端命令)即,默认使用数据库
USE db_name;


【创建表】
CREATE TABLE tb_name(col1,col2,...);
例如: create table students(
Name char(20) not null,
Age tinyint unsigned,
Gender char(1) not null
);

【查看数据库中的表:】SHOW TABLES FROM db_name;
【查看表结构:】DESC tb_name;
【删除表:】DROP TABLE tb_name;
【修改表:】
ALTER TABLE tb_name
MODIFY(修改某个字段)(改变字段属性,不会改变字段名称)
CHANGE(改变某个字段)(可以改变字段名称)
ADD
DROP
例如:添加一个字段
ALTER TABLE tb_name ADD cours VARCHAR(100);
修改一个字段
ALTER TABLE tb_name CHANGE cours_old cours_new VARCHAR(100) AFIER Name;
注意: AFIER表示将该字段改变位置放置Name字段后面。
获取帮助:例如: help CREATE TABLE


【DML】
【向表中插入数据】
INSERT INTO tb_name (col1,col2,...) VALUES|VALUE('string',num,...);
INSERT INTO tb_name(col1,col2,...) VALUES|value('string',num,...),('string',num,...);
【修改表中数据】
UPDATE tb_name SET column=value WHERE 条件
选择:指定以某字段做为搜索码,做逻辑比较,筛选符合条件的行;
where指定选择条件
投影:

【删除表中数据】
DELETE FROM tb_name WHERE CONDITION;


【创建用户:】
CREATE USER  'USERNAME'@'HOST' IDENTIFIED BY 'PASSWORD';
【删除用户:】
DROP USER 'USERNAME'@'HOST';

HOST可以使用的情况有:
IP:
HOSTNAME:主机名
NETWORK:网络地址
通配符
【_】匹配任意单个字符,例如172.16.0._
【%】匹配任意长度的任意字符 例如:jerry@'%'表名jerry可以从任何主机上登录



【DCL】
【给用户赋予权限】
GRANT pri1,pri2,... ON DB_NAME.TB_NAME TO 'USERNAME'@'HOST' [IDENTIFIED BY 'PASSWORD'];//其中pri1代表权限
注意:如果用户不存在会自动创建用户并授权
例如:
grant all privileges on *.* to 'root'@'192.168.%.%' identified by 'gandian';//让root用户可以远程登录,并且具有所有数据库的所有权限。
【删除用户的权限】
REVOKE pri1,pri2,... ON DB_NAME FROM 'USERNAME'@'HOST';
【查看用户的授权:】
SHOW GRANTS FOR 'USERNAME'@'HOST';
所有权限为:ALL PRIVILEGES
【查看当前使用数据库】
select database();
【查看当前用户】
select user();
【显示存储引擎】
show engines;


为用户设定密码:
1、SET PASSWORD FOR 'USERNAME'@'HOST'=PASSWORD('password'); //改命令要在mysql命令提示符中执行
注意,这种方式是修改表中字段从而达到修改密码的效果。PASSWORD('');是将密码加密存放
由于这种是直接修改的是表的内容,而mysql的认证信息是存储在内存中,因此还需要mysql重读授权表
重读授权信息:FLUSH PRIVILEGES;

2、mysqladmin -uUSERNAME -hHOST -p password_old 'password_new'
注意:对host有bug

3、 UPDATE user SET Password=PASSWORD('password') WHERE USER='root' and HOST='127.0.0.1';




































-------------附加---------------
RDBMS:
/var/lib/mysql/
默认端口:3306


启动;初始化:
service mysqld start
--------------------------------源码安装mysql-------------------
【mysql的编译安装】
cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在另外一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响,因此在同一个源码树上可以进行多次不同的编译,如针对不同平台编译。


安装版本:mysql-5.5.25a
1.使用cmake编译mysql-5.5 
cmake 指定编译选项的方式不同于make,其方式对比如下:
./configure cmake .
./configure --help cmake . -LH or ccmake .


指定安装文件的安装路径时常用的选项:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql 
-DMYSQL_DATADIR=/data/mysql
-DSYSCONFDIR=/etc 


默认编译的存储引擎包括:csv、myisam、myisammrg和heap,若要安装其他存储引擎,可以使用类似如下编译选项:
-DWITH_INNOBASE_STORAGE_ENGINE=1 
-DWITH_ARCHIVE_STORAGE_ENGINE=1 
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 
-DWITH_FEDERATED_STORAGE_ENGINE=1 


诺要编译进其它功能,比如SSL等,则可使用类似如下选项来实现编译时使用某库或不适用某库:
-DWITH_READLINE=1 
-DWITH_SSL=system 
-DWITH_ZLIB=system 
-DWITH_LIBWRAP=0 


其他常用的选项:
-DMYSQL_TCP_PORT=3306 
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock 
-DENABLED_LOCAL_INFILE=1 
-DEXTRA_CHARSETS=all 
-DDEFAULT_CHARSET=urf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_DEBUG=0 
-DENABLE_PROFILING=1 


如果想清理此前的编译所生成的文件,则需要使用如下命令:
make clean
rm CMakeCache.txt


编译安装
# groupadd -r mysql
# useradd -g mysql -r -d /data/mydata mysql 
# tar xf mysql-5.5.25a.tar.gz 
# cd mysql-5.5.25a
# cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/mydata/data \
-DSYSCONFDIR=/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=0 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值