一、MySQL基础知识

1. MySQL相关控制

- 连接服务器

- 关闭服务器

- 管理服务器

二、MySQL基本操作

1. 库操作

- 新建数据库

- 查询数据库

- 修改数据库

- 删除数据库

2. 表操作

- 新增表

- 查看表

- 修改表

- 删除表

3. 数据操作

- 新增数据

- 查看数据

- 修改(更新)数据

- 删除数据

三、其他

讨厌简书不支持Markdown格式目录。

一、MySQL基础知识

数据库的操作无非就是增删改查,具体的包括库操作、表操作和数据的操作。很多人说SQL语句难学,主要还是因为太多种操作而搞得自己都混乱了,所以开始操作前要理清思路,你要干什么,你要操作的是哪里,这样就不会难了。

最开始要介绍的是MySQL的注释。MySQL注释的格式:“-- 注释”。

MySQL相关控制

连接服务器 mysql -h -P -u -p

说明:

h:host

P:端口

u:username

p:password

如果是连接本机的数据库,则只需输入u与p即可

> mysql -uroot -proot -- uroot表示用户名为root;proot表示密码为root,这里大家自行做相应更改

安全起见可以这样:

> mysql -uroot -p

> root

关闭服务器

有三种方式:exit、quit、\q

管理服务器

windows下有三种方式进行服务端管理

windows服务管理(快捷方式为:运行=>services.msc)

通过服务命令在dos下管理:(net 管理服务)

> net stop mysql

直接通过执行文件(安装目录->bin->mysql.exe)

二、MySQL基本操作

MySQL的操作就是对数据进行增删改查。包括库操作、表操作(字段操作)和数据操作。本文以系统性的分好了几大类,逻辑性较强。

库操作

新建数据库

create database 数据库名字 [库选项]

库选项:可进行字符集设置

> create database mydatabase charset utf8;

查询数据库

查询所有:

> show databases; -- 注意show语句查询该英文是复数形式,慎重!

模糊查询:有%和_

> show databases like 'my%'; -- 查询my开头,后接任意个字符的数据库

> show databases like 'mydatabas_'; -- 查询mydatabas后接一个字符的数据库

查询数据库创建语句:

> show create database `mydatabase`; -- 数据库名字要英文输入法下的左上角的那个符号包着!

修改数据库(数据库名称不可修改,只能修改库选项)

alter database 数据库名字 [库选项];

删除数据库

drop database 数据库名字;

表操作

新增表(具体有两个方式)

create table 表名(字段1 字段类型,字段2 字段类型)[表选项];

表选项:

字符集:设置表的字符集

存储引擎:不同存储和处理数据的方式(稍后解释)

显式指定数据:在创建表名时使用(库.名字)

> create table mydatabase.mytable( id int, -- id为整型

name varchar(10) -- name为字符串

) charset utf8 engine innodb; -- engine默认为innodb,所以可以不填

隐式指定数据:事先进入到某个数据库(use 数据库名)

> use mydatabase;

> create table mytable2(id int, name varchar(10))

存储引擎:

InnoDB:只会创建一个表结构文件,其他的索引和数据存放在ibdata1文件(安装路径/mysql/data/ibdata1)中

Myisam:会创建三个文件,结构文件、数据文件和索引文件

查看表(必须进入到数据库)

查看表的基本信息:show tables;或show tables like 'pattern';

> show tables; -- 查看所有当前数据库下的表

查看表的创建语句:show create table 表名

> show create table mytable;

查看表结构:desc 表名;或describe 表名;或show column from 表名;

修改表(不管修改哪个部分都要加上字段类型)

可以修表的名字、属性、位置和表的字段的增删改查

alter table 表名 [add/modify/drop] [column] 字段名字 [字段类型] [字段位置]

重命名:rename 旧表名 to 新表名;

增加字段:alter table 表名 add column 字段类型 [位置]

位置:默认在最后增加。first、after

> alter table mytable add column age int;

修改字段(修改字段位置、类型、名字)

修改字段类型和位置:

> alter table mytable modify name varchar(10) after age;

修改字段名字:alter table 表名 change 旧字段名 新字段名 字段类型 字段位置

> alter table mytable change name second varchar(10);

删除字段:alter table 表名 drop 字段名;

删除表

drop table 表名

数据操作

新增数据

insert into 表名(字段列表) values (值列表);

字段列表可以没有,以为着值列表里的字段数必须与表中的字段数完全一致。

> insert into mytable values (1, 'moumou', 18);

> insert into mytable(name, id, age) values ('me', 2, 20);

查看数据

select 字段列表 from 表名 [where 条件];

> select * from mytable; -- *表示所有字段

> select name from mytable;

> selct * from mytable where age > 20;

修改(更新)数据

updata 表名 set 字段 = 值 [where 条件];

> update mytable1 set age = 19 where id = 1;

删除数据

delete from 表名 [where 条件];

> delete from mytable where id = 2; -- 删除id=2的记录

三、其他

行(row)和记录(record)说的是同一个东西

列(column)和字段(field)同上