MySql基本操作

开启/关闭mysql服务

sudo mysql.server start/stop

net start/stop mysql  (windows下)

打开mysql

mysql -u root -p -P(3306) -h(127.0.0.1) /*-P(3306)为默认端口时候, -h(127.0.0.1)为本地回环地址的时候可省略*/

-P:端口号 默认3306

-h:服务器名称 默认本地回环地址

本地回环地址:127.0.0.1  

默认端口:3306

查看mysql版本

mysql -V;(未进入mysql)

select version();(进入mysql)

显示当前日期

select now();

显示当前用户

select user();

退出mysql

exit;

quit;

\q;

修改root密码

1、mysql -u root -p '原来的密码'   

2、show databases;

3、use mysql;

4、ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码’;

查看mysql进程:ps -ef|grep mysqld

杀掉mysql进程:mysqldkill -9  


重置mysql的root的密码(忘记密码的情况下)

关闭mysql服务器

sudo /usr/local/mysql/support-files/mysql.server stop

也可以在系统偏好里有个MySQL里关闭。

cd /usr/local/mysql/bin 进入目录

sudo su 获取权限

./mysqld_safe --skip-grant-tables & 重启服务器

重开个终端,

配置短命令:

alias mysql=/usr/local/mysql/bin/mysql

mysql -u root -p 

use mysql进入mysql数据库

flush privileges;大概就是获取权限。

set password for 'root'@'localhost'=password('新密码'); 完成修改

数据库的操作

创建数据库

{}内为必须有的,[]为可有可无的,()是mysql语法的一部分,/**/内为注释,大写的为mysql的命令,且是固定的,小写的是自己命名的部分,不固定的。

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS ]  name/*数据库的名字*/[DEFAULT] CHARACTER SET [=]  character_name/*编码名称*/

例:创建utf8字符类型的数据库k2:CREATE DATABASE  IF NOT EXISTS  k2  CHARACTER SET utf8;

修改数据库

ALTER {DATABASE | SCHEMA}  [name/*数据库的名字*/]  [DEFAULT]  CHARACTER  SET  [=]character_name/*编码名称*/

例:将数据库k2改为utf8字符类型:ALTERDATABASE k2CHARACTERSETutf8;

进入数据库

USE  name/*数据库的名字*/;

删除数据库

DROP {DATABASE | SCHEMA}  [IF  EXISTS ]name/*数据库的名字*/

数据表的操作(数据表是二维表格)

创建数据表

CREATE  TABLE  [IF NOT EXISTS ]  table_name/*数据表的名字*/(

    column_name /* 数据表字段名*/ data_type /*数据类型*/,

    column_name /* 数据表字段名*/ data_type /*数据类型*/

)

查看数据库中的数据表

SHOW TABLES [FROM  db_name/*数据库的名字*/] [LIKE ‘pattern' | WHERE expr]

查看数据表结构

SHOW COLUMNS FROM  table_name/*数据表的名字*/

删除数据表

DROP TABLE table_name/*数据表的名字*/

添加单列

ALTER TABLE table_name/*数据表的名字*/ADD [COLUMN] column_name /* 数据表字段名 数据类型 约束*/ [FIRST/AFTER column_name /* 要添加到某一字段之下,默认为添加到最后*/]

例:给数据表tb1添加字段名为age的一列: ALTER TABLE tb1 ADD age TINYINT UNSIGNED NOT NULL DEFAULT 10;

添加多列

ALTER TABLE table_name/*数据表的名字*/ADD[COLUMN](column_name /* 数据表字段名 数据类型 约束*/,…… )

删除列

ALTER TABLE table_name/*数据表的名字*/ DROP[COLUMN] column_name /* 数据表字段名*/;

例:删除数据表tb1中的age和password字段(可使用多个DROP删除多个列;也可在后面输入,ADD执行添加列的操作): ALTER TABLE tb1DROP agd, DROP password;

修改列定义

ALTER TABLE table_name/*数据表的名字*/ MODIFY[COLUMN] column_name /* 数据表字段名 数据类型 约束*/[FIRST/AFTER column_name /* 位置变为某一字段之后,默认位置不变*/]

修改列名称(同时也可修改列定义)

ALTER TABLE table_name/*数据表的名字*/ CHANGE[COLUMN] old_column_name/*修改前的字段名*/new_column_name/* 修改后的字段名 */ column_name /* 数据表字段名 数据类型 约束*/[FIRST/AFTER column_name /* 位置变为某一字段之后,默认位置不变*/]

数据表更名

1.ALTER TABLE table_name/*数据表的名字*/ RENAME[TO|AS] new_table_name/*修改后的数据表的名字*/

2.RENAMETABLEtable_name/*数据表的名字*/ TOnew_table_name/*修改后的数据表的名字*/ [,table_name2 TOnew_table_name2……/*可改多张表*/]

记录的操作

记录查找

SELECT expr,……… FROM table_name/*数据表的名字*/

查看本数据表所有内容

SELECT *FROM table_name/*数据表的名字*/ ;

插入记录(3种)

1.INSERT [INTO] table_name/*数据表的名字*/ [(column_name /* 数据表字段名*/,…… )] VALUES(val/* 字段值*/,……),(val/* 字段值*/,……)/* 插入多条记录*/

例:在tb1中给id,name,sex三个字段分别赋值为1,bob,0:INSERT INTO tb1 (id,username,sex) VALUES (4,"bob",0);  或者 INSERT INTO tb1 VALUES (4,"bob",0);  注意,省略字段名的情况下,后面的VALUES 的顺序和数量必须和字段名保持一致,即使id为AUTO_INCREMENT的约束下也不能省略,赋值为NULL或者DEFAULT,如果sex有默认值的约束的话,使用DEFAULT赋默认值,即INSERT INTO tb1 VALUES (NULL/DEFAULT,"bob",DEFAULT)

2.INSERT[INTO] table_name/*数据表的名字*/ SET column_name /* 数据表字段名*/ = {val/* 字段值*/|DEFAULT}

注:此种插入方法可以省略字段值约束为NULL或者DEFAULT的字段

3.INSERT[INTO]  table_name/*数据表的名字*/[(column_name /* 要插入的表的字段名*/,…… ] SELECT …………/*select语句*/

更新记录(单表更新)

UPDATE  [LOW_PRIORITY]  [IGNORE] table_name/*数据表的名字*/ SETcolumn_name /* 数据表字段名*/ = {val/* 字段值*/|DEFAULT}[,column_name /* 数据表字段名*/ = {val/* 字段值*/|DEFAULT}]…………/* 多个字段更新*/ [WHERE where_condition/*where条件*/]

删除记录(单表删除)

DELETE  FROM  table_name/*数据表的名字*/[WHERE where_condition/*where条件*/]

你可能感兴趣的:(MySql基本操作)