一、运行数据库
1、启动服务:net start mysql
2、连接数据库:
mysql -h[IP地址] -u [数据库] -p;
mysql -u [数据库] -p;
--如:mysql -u root -p;
-- mysql -h127.0.0.1 -u root -p;
二、查看
1、查看数据库:show databases
2、查看表:show tables
--先选择数据库
USE [数据库]
USE root
--查看表
SHOW TABLES;
3、查看表中的列:
SHOW columns from [表名];
SHOW columns from db;
describe [表名];
describe db;
--我感觉两种方式是一样的
4、查看数据库的状态:
SELECT host,user FROM MYSQL.USER
5、查看用户:
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
三、新建
1、创建数据库:
--创建数据库
CREATE DATABASE [数据库名];
CREATE SCHEMA [数据库名] default character set utf8 collate utf8_general_ci;
--采用create schema和create database创建数据库的效果一样,具体区别还没研究。
2、创建用户:
CREATE USER 'userName'@'%' IDENTIFIED BY 'password';
CREATE USER 'userName'@'localhost' IDENTIFIED BY 'password'; --本地连接
CREATE USER 'userName'@'host' IDENTIFIED BY 'password';
/*host - 指定该用户在哪个主机上可以登陆,此处的"localhost",是指该用户只能在本地登录,
不能在另外一台机器上远程登录,如果想远程登录的话,将"localhost"改为"%",
表示在任何一台电脑上都可以登录;也可以指定某台机器可以远程登录;*/
3、创建表:
DROP TABLE IF EXISTS `表名`;//有则删表
CREATE TABLE `表名` (
`字段1` varchar(10) PRIMARY KEY NOT NULL COMMENT '字段描述',
`字段2` varchar(10) DEFAULT NULL COMMENT '字段描述',
`字段3` varchar(10) DEFAULT NULL COMMENT '字段描述'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='表描述';
四、添加
1、导入.sql文件
--导入SQL文件
SOURCE d:/mysql.sql;
--应该也可以
mysql -uroot -p密码 < c:\sudu.sql
2、插入数据
--插入数据
INSERT INTO [表名] VALUES("字段1","字段2"······);
--以文本方式将数据插入表
LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE 表名;
3、导入.txt文件
1、文本数据应符合的格式:字段数据之间用tab键隔开,null值用\n来代替.例:
3 rose 飞数科技1 1976-10-10
4 mike 飞数科技2 1975-12-23
假设你把这两组数据存为速度sudu.txt文件,放在c盘根目录下。
2、数据传入命令 load data local infile "c:\sudu.txt" into table 表名;
注意:你最好将文件复制到\mysql\bin目录下,并且要先用use命令打表所在的库。
五、删除
1、删除用户
--删除用户
DELETE FROM mysql.user WHERE user='tester';
DROP USER 'userName'@'host';
2、删除数据库
--删除数据库
DROP DATABASE db;
3、删除表
--删除表
DROP TABLE [表名];
4、清空表数据
--清空表数据
DELECT FROM [表名];
六、修改
1、修改密码
--格式;
MYSQLADMIN -u [用户名] -p [旧密码] password [新密码];
UPDATE mysql.user SET password=PASSWORD('新密码') WHERE User='root';--记得刷新
--例如:
MYSQLADMIN -u root -password 1234; --给root加个密码
MYSQLADMIN -u root -p 1234 password abcd;
2、修改表
--增加列
alter table [表名] add [列名] char(100) null;
--删除列
alter table [表名] drop column [列明];
--修改列数据类型
ALTER TABLE [表名] ALTER COLUMN [列名] [类型];
--改表名
rename table [旧表名] to [新表名];
ALTER TABLE table_name ADD column_name datatype 增加表中的列
ALTER TABLE table_name DROP COLUMN column_name 删除表中的列
ALTER TABLE table_name ALTER COLUMN column_name datatype 改变表中的列的数据类型
3、修改表中数据
UPDATE 表名 SET 字段名1='a',字段名2='b' WHERE 字段名3='c';
七、授权
--授权test用户有testDB数据库的某一部分权限:
GRANT select,update ON testDB.* TO test@'%' IDENTIFIED BY 'password';
--授权test用户有testDB数据库的所有操作权限:
GRANT all PRIVILEGES ON testDB.* TO 'test'@'%' IDENTIFIED BY 'password';
--授权test用户拥有所有数据库的某些权限:
GRANT select,delete,update,create,drop ON *.* TO 'test'@'%' IDENTIFIED BY 'password'
八、备份数据
1、备份数据库
--备份数据库
MYSQLDUMP -u [用户名] -p [密码] [数据库] > [路径/文件名.sql];
MYSQLDUMP -u [用户名] -p -d --add-drop-table [数据库] > [路径/文件名.sql];--/ -d 没有数据 --add-drop-table 在每个语句前加上drop table **
mysqldump -up[用户名] -p --default-character-set=latin1 --set-charset=gbk --skip-opt [数据库]> [路径/文件名.sql];
2、备份表
--备份表
MYSQLDUMP -u [用户名] -p [密码] [数据库] > [路径/文件名.sql];
九、其他
flush privileges;--立即启用修改,刷新
revoke all on *.* from tester;--取消用户所有数据库(表)的所有权限