MariaDB(MySQL)的常用命令1 【检索数据】

检索数据

mysql 语法,关键字,最好用大写(和数据库,table,id,信息区分)

MySql中添加用户,新建数据库,用户授权,删除用户,修改密码
查看已有用户:
select user,host,password from mysql.user;

使用

linux 我用来当服务器用,使用前需要添加用户

CREATE USER 'myusername'@'%' IDENTIFIED BY 'mypassword';
GRANT ALL ON *.* TO 'myusername'@'%';


#添加myusername到192.168.1.254
GRANT ALL PRIVILEGES ON *.* TO 'myusername'@'192.168.1.254' WITH GRANT OPTION;

#或者这里也可以指定账号
GRANT ALL PRIVILEGES ON *.* TO 'myusername'@'%' WITH GRANT OPTION;

#或者这里也可以指定账号+密码
GRANT ALL PRIVILEGES ON *.* TO ‘myusername’@'%’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;

windows 我用来当client用

设置下环境变量

MYSQL_PATH
D:\Program Files\mysql-5.7.10-winx64\bin
然后添加到【path】中

#windows 安装后台服务
> mysqld -install

> mysqld -remove


> mysql -h 192.168.1.254 -u myusername -p

enter passowrd【mypassword】

然后就可以使用远程linux的Mysql服务器。

/////////////////////////////下面是一些练习和常用命令

char(M)类型的数据列里,每个值都占用M个字节,如果某个长度小于M,MySQL就会在它的右边用空格字符补足.(在检索操作中那些填补出来的空格字符将被去掉)
在varchar(M)类型的数据列里,每个值只占用刚好够用的字节再加上一个用来记录其长度的字节(即总长度为L+1字节).

所以一般用varchar

http://blog.csdn.net/zjgnl/article/details/8936644

  1. 修改 root 账号的密码

刚安装完成时root账号默认密码为空,此时可以将密码修改为指定的密码。如:123456

//查看本地端口 是否正在监听
netstat -an|grep 3306

service mysql restart//linux 重启服务
service mysql start
service mysql stop




net restart mysql//windows 重启服务
net start mysql
net stop mysql

方法一:

c:>mysql –uroot

mysql>SHOW DATABASES; 

mysql>USE mysql;

mysql>UPDATE user SET password=PASSWORD("123456") WHERE user='root';

mysql>FLUSH PRIVILEGES;

mysql>QUIT

方法二:

利用第三方管理工具进行密码修改。如Navicat for MySQL

//////////////////////////////////////////////////////////////////////////////////////////////////

mysql --version

登录 
mysql –u root -p
//mysql -h localhost -u scott2 -p;   //如果需要 密码,  
//默认是空,所以直接Enter 就可以


mysql -h localhost -u scott2;


SHOW DATABASES; //显示 所有数据库 
CREATE DATABASE test_db; //create a database
SHOW DATABASES; //显示 所有数据库 


SHOW CREATE DATABASE test_db\G;//查看 数据库test_db的定义 和一些信息



DROP DATABASE test_db;//删除 数据库test_db,不能恢复 

//=====================================
USE test_db;    //使用一个 database


//1.创建 table
CREATE TABLE test_table
(
id INT(11),
name VARCHAR(25),
department INT(11),
salary FLOAT,
);


2.
//2.1   创建 table , 使用 主键约束
//字段名 数据类型  PRIMARY KEY  [默认值],
CREATE TABLE test_table
(
id INT(11) PRIMARY KEY,
name VARCHAR(25),
department INT(11),
salary FLOAT,
);


//2.2 定义完所有列 之后 ,指定 主键
CREATE TABLE test_table
(
id INT(11),
name VARCHAR(25),
department INT(11),
salary FLOAT,

PRIMARY KEY(id)
);

//多个主键
CREATE TABLE test_table
(
id INT(11),
name VARCHAR(25),
department INT(11),
salary FLOAT,

PRIMARY KEY(id,name,department)
);



3.
//2.创建 table , 使用 外键约束
CREATE TABLE test_table
(
id INT(11),
name VARCHAR(25),
department INT(11),
salary FLOAT,
);

//用sql文件创建table
mysql -h 192.168.1.254 -d testDB -u username -ppassword < createTableStudents.sql




//插入中文字符用'', 字段用char(10) 大小自定义,varchar(10), char定长,varchar不定长,
//varchar最后会有1~2字节的size,如果实际的数据不多,varchar空间效率更高。(比如 地址)
//如果固定的size 比如电话号码,用固定的char cpu效率更高点。

//VARCHAR是可变字符串

CREAT TABLE TEST_TABLE(name VARCHAR(20), owner VARCHAR(20), species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);
//这是createTableStudents.sql
create table students
(
	id int unsigned not null auto_increment primary key,
	name char(8) not null,
	sex char(6) not null,
	age tinyint unsigned not null,
	tel char(13) null default "-"
);
mysql> desc students;//显示table students的表结构。
+-------+---------------------+------+-----+---------+----------------+
| Field | Type                | Null | Key | Default | Extra          |
+-------+---------------------+------+-----+---------+----------------+
| id    | int(10) unsigned    | NO   | PRI | NULL    | auto_increment |
| name  | char(8)             | NO   |     | NULL    |                |
| sex   | char(6)             | NO   |     | NULL    |                |
| age   | tinyint(3) unsigned | NO   |     | NULL    |                |
| tel   | char(13)            | YES  |     | -       |                |
+-------+---------------------+------+-----+---------+----------------+

//插入多个数据的时候,用value 或者values 都可以

//id是自增长的,但是也可以指定,或者更改
insert into students (id,name,sex,age,tel) value (1,'何X','mela',28,157121xxx73);

//可以省略id,会自动增长
insert into students (name,sex,age,tel) value ('小明','mela',27,157121xxx73);

//可以省略前面的key,直接写值
insert into students value ('小明','mela',27,157121xxx73);

//可以直接赋值
insert into students value name= '小明', sex='mela', age=27, tel=157121xxx73;



//显示table [students]中 所有插入的信息
select * from students;



//插入三条数据
mysql> insert into ttt values(001,'tom', 1101, 999999.1111);
mysql> insert into ttt values(002,'shelton', 1101, 999999.1111);
mysql> insert into ttt values(003,'linken', 1101, 999999.1111);



=====================================================

help show;//显示所有的show命令

show status;//显示服务器信息


//mysql查看表结构命令,如下:
desc 表名;
describe 表名;
show columns from 表名;




//显示表结构 + 存储引擎 + 字符集
show create table 表名;
use information_schema


//查询数据
mysql> select * from ttt;


//删除数据库
drop database studnetDB;

//删除table
drop table 


//删除数据
delete from ttt where id=3;



顺便记下:
show databases;
use 数据库名;
show tables;







显示表中的信息

//显示表中的所有信息
select * from students;

//所有单列column 信息
select name from students;

//所有多列columns 信息
select id,name,tel from students;

//所有columns 信息,去掉重复的信息(比如lily,lucy是双胞胎,列出家访地址:就只要一个地址就可以)
select dinstnct addressInfo from students;


//都是从第20行开始, 列出5条信息。  (index 从0开始)
SELECT id FROM LIMIT 20,5;
SELECT id FROM LIMIT 5 OFFSET 20;



//完全限定表名
SELECT students.id FROM students;
SELECT students.id FROM testDB.students;

注释
#xxxx
/* xxxx */

//原有一unique索引AK_PAS_Name(PAC_Name)在表tb_webparamcounter中,
//执行以下sql修改索引
alter table tb_webparamcounter drop index AK_PAS_Name;
alter table tb_webparamcounter add UNIQUE AK_PAS_Name(PC_ID,PAC_Name);

//若发现索引的逻辑不对,还需要再加一个字段进去,执行
alter table tb_webparamcounter drop index AK_PAS_Name;
alter table tb_webparamcounter add UNIQUE AK_PAS_Name(PC_ID,PAC_Name,PAC_Value);
//注意:这时的PC_ID,PAC_Name,PAC_Value三个字段不是FOREIGN KEY
//否则必需先drop FOREIGN KEY,再重做上一步才行

//顺便提下oracle
select * from v$database;
select * from all_users;
select * from user_tables;


mysqldump [options] |gzip ->mysqldump-$(date +%Y-%m-%d-%H.%M.%S).gz 转存mysql数据库 ​​​​

posted @ 2015-12-13 03:19  scott_h  阅读(2016)  评论(0编辑  收藏  举报