一、安装MariaDB及其配置步骤
1)创建存放数据目录及其用户
mkdir -pv /mydata/data
groupadd -r mysql
useradd -g mysql -r mysql
2)授权数据存放目录
chown -R /mydata/data
3)解压mariadb-5.5.48-linux-x86_64.tar.gz
tar xfmariadb-5.5.48-linux-x86_64.tar.gz -C /usr/loca/mysql
4)为数据库提供配置文件及其启动脚本
cd /usr/local/mysql
cp support-files/my-large.cnf/etc/my.cnf
cp support-files/mysql.server/etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add /etc/init.d/mysqld
chkconfig mysqld on
5)初始化数据库
cd /usr/local/mysql
./configure --user=mysql--datadir=/mydata/data
6)加入环境变量
echo "exportPATH=/usr/local/mysql/bin:$PATH" >/etc/profile.d/mysql.sh
source /etc/profile.d/mysql.sh
7)启动数据库
/etc/init.d/mysqld start 或service mysqld start
二、服务端命令
1.DDL(数据定义语言),分别主要用于管理数据库组件,例如索引,视图,用户,存储过程:create alter drop等。
DDL命令详解:create,alter,drop
创建:create
create{DATABASES|SCHEMA} [IF NOT EXISTS] db_name [create_spacification]....
例如:create database if notexists testdb;
获取帮助:help 或 help command
查看所有的数据库:showdatabases;
查看支持的字符集:show character set;
查看支持的所有排序的规则:show collation;
修改:alter
ALTER{DATABASE|SCHEMA} [db_name] alter_specification ...
删除:drop
DROP{DATABASE|SCHEMA} [db_name] 例如:drop database testdb;
表操作:
创建表
create[temporary] talbe [if not exists] tbl_name (create_definition,....)
例如:create table if notexists students(id int unsigned not null,name varchar(20),age tinyintunsigned,gender enum('f','m'),primary key(id));
查看表结构:desc students;
查看建表过程:show create tablestudents\G
查看表的状态信息:show table statuslike 'students'; show table status like '%stu%';
查看表数据库支持的存储引擎:showengines;
修改表:
ALTER[ONLINE|OFFLINE] [IGNORE] TABLE tbl_name [alter_spcification]
字段:
添加字段:ADD [column] col_namecolumn_definition
alter tablestudents add number int(13) not null;
alter tablestudents add number int(13) not null after age;
删除:DROP [COLNUM]col_name
alter tablestudents drop number;
修改:CHANGE [COLNUM]old_col_name new_col_name column_definition
MODIFY [COLNUM] old_col_name new_col_name column_definition
alter tablestudents modify name varchar(30) after age;
添加键:
add {primarykey|unique key|foreign key}(col1,col2....)
alter tablestudents add primary key(number,id);
删除键:
drop primarykey
alter tablestudents drop primary key
索引:
添加:add {index|key}{index_name}
删除:drop {index|key}{index_name}
alter table addindex age (age);
查看表上的索引信息:show indexes fromtbl_name;
创建:
CREATE[ONLINE|OFFLINE] [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name
[index_type]
ON tbl_name(index_col_name,...)
[index_option]...
create indexname_and_class on students (name,age);
删除:
drop indexname_and_class on students;
图示:
2.DML(数据操纵语言):主要用于管理表中的数据,实现数据的增删改查(insert,delete,update,select)
inset into:
insert into:insert intotable_name [cols.......] value (val1,val2,val3....)
例如:insert into studentsvalues (1,'alren',25,'m','one',169);
insert into students (id,name) values(1,'alren'),(2,'chen');
注意:在使用字符型数据时需使用引号,数值则不需使用引号,使用也行。
delete:
delete from students where age is null;
delete from studnets order by age desc limit 20;
update
update students set age=age+15 where name like'%ren%';
select:
select * fromtbl_name;
selectcol1,col2,col3,....from tbl_name;
select id,namefrom students;
selectcol1,col2 ... from tbl_name where clause;
select name,agefrom students where age >11 and age <30;
select name,agefrom students where age between 11 and 30;
select name,agefrom students where age is not null;
select id,namefrom students order by id desc; #desc升序
selectid,name,age from students order by id asc; #asc将序
删除用户账号:
drop user 'user'@'localhost';
dorp user 'testuser'@'192.168.%.%';
授权:
grant privil_type on [object_type] db_name to'user'@'host' indentified by 'password'
privileges_type:
*.*:所有的库中的所有的表
db_name.*指定库中的所有表
db_name.tbl_name:指定用户上的特定表
db_name>routine_name:指定库上的存储过程或函数
实例:grant selct,updateon mydb.students to 'testuser'@'192.168.%.%' identified by 'paswd'
grant all *.* to'root'@'localhost' identified by 'password'
https://blog.51cto.com/purify/1858677