一、连接MySQL
进入目录 mysql bin
格式: mysql -h 主机地址 -u 用户名 -p 用户密码
说明:
-h : 指定客户端所要登录的MySQL主机名, 登录本机(localhost 或 127.0.0.1)该参数可以省略;
-u : 登录的用户名;
-p : 告诉服务器将会使用一个密码来登录, 如果所要登录的用户名密码为空, 可以忽略此选项。
如果我们要登录本机的 MySQL 数据库,只需要输入以下命令即可:
mysql -u root -p
若密码存在, 输入密码登录, 不存在则直接按回车登录
输入 exit 或 quit 退出登录。
查看版本
mysqladmin --version
二、启动关闭数据库
启动数据库
cd c:/mysql/bin
mysqld --console
关闭数据库
mysqladmin -uroot shutdown
三、创建/删除数据库
创建数据库
命令行形式
mysql> create DATABASE <数据库名>;
使用 mysqladmin 创建数据库
mysqladmin -u root -p create <数据库名>;
删除数据库
mysql> drop database <数据库名>;
mysqladmin -u root -p drop <数据库名>;
Mysql默认数据库:
information_schema(保存了MySQl服务所有数据库的信息,数据库信息、表、字段、索引等)
performance_schema(存储数据库服务器性能参数)
mysql(系统用户的权限信息、参数、对象等)
test(mysql自带的测试数据库,空的)
四、创建用户
CREATE USER ‘username’@‘host’ IDENTIFIED BY ‘password’;
语法说明:
username:你将创建的用户名
host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,
可以使用通配符%
password:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器
例子:
CREATE USER ‘dog’@‘localhost’ IDENTIFIED BY ‘123456’;
CREATE USER ‘pig’@‘192.168.1.101’ IDENTIFIED BY ‘123456’;
CREATE USER ‘pig’@’%’ IDENTIFIED BY ‘123456’;
CREATE USER ‘pig’@’%’ IDENTIFIED BY ‘’;
CREATE USER ‘pig’@’%’;
授权
GRANT privileges ON databasename.tablename TO ‘username’@‘host’
语法说明:
privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
databasename:数据库名
tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用表示,如.*
‘username’@‘host’: 必须与创建的用户及登录主机相同
例子:
GRANT SELECT, INSERT ON test.user TO ‘pig’@’%’;
GRANT ALL ON . TO ‘pig’@’%’;
GRANT ALL ON maindataplus.* TO ‘pig’@’%’;
注意:
用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令
GRANT privileges ON databasename.tablename TO ‘username’@‘host’ WITH GRANT OPTION;
查看所有用户:
SELECT User, Host FROM mysql.user;
删除用户:
DROP USER ‘username’@‘host’;
修改密码
set password for ‘用户名’@‘IP地址’=‘新密码’;
五、创建表
CREATE TABLE IF NOT EXISTS runoob_tbl
(
runoob_id
INT UNSIGNED AUTO_INCREMENT,
runoob_title
VARCHAR(100) NOT NULL,
runoob_author
VARCHAR(40) NOT NULL,
submission_date
DATE,
PRIMARY KEY ( runoob_id
)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
说明:
如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错
AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。
PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。
ENGINE 设置存储引擎,CHARSET 设置编码。
查看表结构:
desc table_name;
插入数据
INSERT INTO runoob_tbl
(runoob_title, runoob_author, submission_date)
VALUES (“学习 PHP”, “菜鸟教程”, NOW());
INSERT 插入多条数据
INSERT INTO table_name(field1, field2,…fieldN)
VALUES (valueA1,valueA2,…valueAN),(valueB1,valueB2,…valueBN),(valueC1,valueC2,…valueCN)…;
如果所有的列都要添加数据可以不规定列进行添加数据:
INSERT INTO runoob_tbl VALUES(0, “JAVA 教程”, “RUNOOB.COM”, ‘2016-05-06’);
六、mysql数据类型
整数型:TINYINT、SMALLINT、MEDIUMINT、INT(INTEGER)、BIGINT
浮点型:FLOAT、DOUBLE、DECIMAL
日期类型:DATE(日期,不含时间)、TIME(时间)、YEAR(年份)、DATETIME(日期、时间)、TIMESTAMP(日期、时间、时间戳)
字符串类型: CHAR、VARCHAR、BLOB、TEXT