MySQL 基本操作

创建数据库与用户

create database mydb;
create database `my-db`;
grant all on mydb.* to newuser@localhost identified by "dbpass" ;

表操作

use mydb;
create table tablename(
	empID TINYINT UNSIGNED NOT NULL AUTO_INCREMENT,
	firstname VARCHAR(25) NOT NULL,
	lastname VARCHAR(25) NOT NULL,
	email VARCHAR(45) NOT NULL,
	phone VARCHAR(16) NOT NULL,
	PRIMARY KEY(empID));

--有条件地创建表
create table if not exists tablename();

--显示表结构
describe tablename;
desc tablename;

--重命名表
rename table tab_aa to tab_bb;

--插入数据
insert into employee(firstname, lastname, email, phone)
	values('phper', 'm', 'phpstone@example.com', '+86 029 88885555');

--查询数据
select * from employee;

修改表结构

--插入字段
ALTER TABLE `employee` ADD `phone` VARCHAR(12) NOT NULL;

--修改字段类型
ALTER TABLE `employee` CHANGE `phone` `phone` VARCHAR(16) NOT NULL; 

--修改字段名称
ALTER TABLE `employee` CHANGE `lastname` `familyname` VARCHAR(25) NOT NULL; 

更新表数据

update employee set lastname="Jackson" where firstname='phper';

导入导出数据库

use mydb;

--导入.sql 文件
source d:/mysql.sql;
load data local infile "D:/mysql.txt" into table mytable;

--删除表
drop table mytable;

--清空表
delete from mytale;

--导出数据库
mysqldump -u root -p db_name > dbname.sql
mysqldump -u root -p table_name > table_name.sql

用户权限指派

grant select, insert, update, delete, create, drop on vtdc.employee to joe@10.163.225.87 identified by '123';
--给来自10.163.225.87的用户joe分配可对数据库vtdc的employee表进行select,insert, update, delete, create, drop 等操作的权限,并设定口令为123。

grant all privileges on vtdc.* to joe@10.163.225.87 identified by '123';
--给来自10.163.225.87的用户joe分配可对数据库vtdc所有表进行所有操作的权限,并设定口令为123。

grant all privileges on *.* to joe@localhost identified by '123';
--给本机用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。