本地连接数据库:
mysql -u root -p #[root@host]
使用 PHP 脚本连接 MySQL:
mysqli_connect(host,username,password,dbname,port,socket);
启动:
cd c:/mysql/bin
mysqld --console
关闭:
cd c:/mysql/bin
mysqladmin -uroot shutdown
添加新用户
INSERT INTO user
添加用户的的实例,用户名为guest,
密码为guest123,
并授权用户可进行 SELECT, INSERT 和 UPDATE操作权限:
INSERT INTO user
(host, user, password,
select_priv, insert_priv, update_priv)
VALUES (‘localhost’, ‘guest’,
PASSWORD(‘guest123’), ‘Y’, ‘Y’, ‘Y’);
注意:在 MySQL5.7 中 user 表的 password 已换成了authentication_string。
注意:password() 加密函数已经在 8.0.11 中移除了,可以使用 MD5() 函数代替。
注意:在注意需要执行 FLUSH PRIVILEGES 语句。 这个命令执行后会重新载入授权表。
如果你不使用该命令,你就无法使用新创建的用户来连接mysql服务器,除非你重启mysql服务器。
你可以在创建用户时,为用户指定权限,
在对应的权限列中,在插入语句中设置为 ‘Y’ 即可,
用户权限列表如下:
Select_priv
Insert_priv
Update_priv
Delete_priv
Create_priv
Drop_priv
Reload_priv
Shutdown_priv
Process_priv
File_priv
Grant_priv
References_priv
Index_priv
Alter_priv
另外一种添加用户的方法:例子
root@host# mysql -u root -p
Enter password:*******
mysql> use mysql;
Database changed
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
-> ON TUTORIALS.* #指定的数据库名
-> TO ‘zara’@‘localhost’ #用户名
-> IDENTIFIED BY ‘zara123’; #密码
/etc/my.cnf 文件配置(默认文件配置)
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
[mysql.server]
user=mysql
basedir=/var/lib
[safe_mysqld]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
管理MySQL的命令:
USE 数据库名 :
#选择要操作的Mysql数据库 使用该命令后所有Mysql命令都只针对该数据库。
SHOW DATABASES:
#列出 MySQL 数据库管理系统的数据库列表。
SHOW TABLES:
#显示指定数据库的所有表,使用该命令前需要使用 use 命令来选择要操作的数据库。
SHOW COLUMNS FROM 数据表名:
#显示数据表的属性,属性类型,主键信息 ,是否为 NULL,默认值等其他信息。
SHOW INDEX FROM 数据表:
#显示数据表的详细索引信息,包括PRIMARY KEY(主键)。
SHOW TABLE STATUS LIKE [FROM db_name] [LIKE ‘pattern’] \G:
#该命令将输出Mysql数据库管理系统的性能及统计信息。
用法:如
SHOW TABLE STATUS FROM RUNOOB; # 显示数据库 RUNOOB 中所有表的信息
SHOW TABLE STATUS from RUNOOB LIKE ‘runoob%’; # 表名以runoob开头的表的信息
SHOW TABLE STATUS from RUNOOB LIKE ‘runoob%’\G; # 加上 \G,查询结果按列打印
MySQL 创建数据库:
CREATE DATABASE 数据库名;
使用 mysqladmin 创建数据库 #特定的权限来创建或者删除 MySQL 数据库:
mysqladmin -u root -p create RUNOOB #登录加建库
使用 PHP脚本 创建数据库:
mysqli_query(connection,query,resultmode);
resultmode可选:
可选。一个常量。可以是下列值中的任意一个:
MYSQLI_USE_RESULT(如果需要检索大量数据,请使用这个)
MYSQLI_STORE_RESULT(默认)
MySQL 删除数据库:
drop database <数据库名>;
执行以上删除数据库命令后,会出现一个提示框,来确认是否真的删除数据库:
使用PHP脚本删除数据库:
mysqli_query(connection,query,resultmode);
和建库差不多
MySQL 选择数据库:
use 数据库名;
使用PHP脚本选择MySQL数据库:
mysqli_select_db(connection,dbname);
MySQL 数据类型:
整数类型:
tinyint smallint mediumint int integer bigint float double decimal
日期和时间类型:
DATE time year datetime time stamp
字符串类型:
char varchar tinyblob tinytext blob text mediumblob mediumtext longblob longtext
MySQL 创建数据表:
表名 表字段名 定义每个表字段
CREATE TABLE table_name (column_name column_type);
例如:
CREATE TABLE IF NOT EXISTS runoob_tbl
(
runoob_id
INT UNSIGNED AUTO_INCREMENT, #自增+1
runoob_title
VARCHAR(100) NOT NULL,
runoob_author
VARCHAR(40) NOT NULL,
submission_date
DATE,
PRIMARY KEY ( runoob_id
) #主键
)ENGINE=InnoDB DEFAULT CHARSET=utf8; #字符编码
通过命令提示符创建表:使用 SQL 语句 CREATE TABLE 来创建数据表。
CREATE TABLE 数据表名(column_name column_type
column_name column_type 属性,
column_name column_type 属性,
column_name column_type 属性,
PRIMARY KEY (数据库名)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
使用PHP脚本创建数据表:(懒得写)
mysqli_query(connection,query,resultmode);
MySQL 删除数据表:
DROP TABLE table_name ;
使用PHP脚本删除数据表:
mysqli_query(connection,query,resultmode);
MySQL 插入数据: INSERT INTO SQL语法:
INSERT INTO table_name ( field1, field2,…fieldN )
VALUES
( value1, value2,…valueN );
注意:如果数据是字符型,必须使用单引号或者双引号,如:“value”。
通过命令提示窗口插入数据:
INSERT INTO runoob_tbl
(runoob_title, runoob_author, submission_date)
VALUES
(“学习 PHP”, “菜鸟教程”, NOW());
使用PHP脚本插入数据:
mysqli_query(connection,query,resultmode);
MySQL 查询数据:通用的 SELECT 语法:
SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[LIMIT N][ OFFSET M]
查询语句中你可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件。
SELECT 命令可以读取一条或者多条记录。
你可以使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据
你可以使用 WHERE 语句来包含任何条件。
你可以使用 LIMIT 属性来设定返回的记录数。
你可以通过OFFSET指定SELECT语句开始查询的数据偏移量。默认情况下偏移量为0。
通过命令提示符获取数据;
使用PHP脚本来获取数据:
PHP 函数的 mysqli_query() 及 SQL SELECT 命令来获取数据。
该函数用于执行 SQL 命令,然后通过 PHP 函数 mysqli_fetch_array() 来使用或输出所有查询的数据。
mysqli_fetch_array() 函数从结果集中取得一行作为关联数组,
或数字数组,或二者兼有 返回根据从结果集取得的行生成的数组,
如果没有更多行则返回 false;
执行完 SELECT 语句后,释放游标内存
通过 PHP 函数 mysqli_free_result() 来实现内存的释放。
MySQL WHERE 子句:
SELECT field1, field2,…fieldN FROM table_name1, table_name2…
[WHERE condition1 [AND [OR]] condition2…
查询语句中你可以使用一个或者多个表,表之间使用逗号, 分割,并使用WHERE语句来设定查询条件。
你可以在 WHERE 子句中指定任何条件。
你可以使用 AND 或者 OR 指定一个或多个条件。
WHERE 子句也可以运用于 SQL 的 DELETE 或者 UPDATE 命令。