1、Mysql基本命令
开启mysql: net start mysql关闭mysql:net stop mysql
登录mysql: mysql -uroot -p123
设置通讯字符集为utf8:set names utf8;
查看数据库: show databases;
创建数据库:create database database_name charset utf8;
查看数据库创建信息:show create database database_name;
删除数据库:drop database database_name;
切换到test数据库: use test;
查看当前数据库:select database();
查看数据库信息:\s;
查看所有表: show tables;
查看t1表中数据 :select * from t1;
退出mysql客户端 :exit;
2、数据库层次结构
DBMS(Database Managemet System) | 数据库管理系统 |
DB(Database) | 数据库 |
Table | 数据表 |
Record | 记录,数据表中的一行 |
Field | 数据表中的一列 |
3、数据表结构
1)表结构 //列信息
数据类型data_type
unsigned 无符号
zerofill 自动填充0
auto_increment 自动增长
(not) null (非)空
default 默认值
primary key 主键
设置主键
每个表都应有一个主键字段。主键用于对表中的行进行唯一标识。每个主键值在表中必须是唯一的。此外,主键字段不能为空
把 personID 字段设置为主键字段。主键字段通常是 ID 号,且通常使用 AUTO_INCREMENT 设置。AUTO_INCREMENT 会在新记录被添加时逐一增加该字段的值。要确保主键字段不为空,我们必须向该字段添加 NOT NULL 设置。
personID int NOT NULL AUTO_INCREMENT,
PRIMARY KEY(personID),
2)表数据 //行信息
3)表索引 //把列中的行加到索引中
4、数据表操作
创建数据表:
create table table_name(
字段名 列类型 【列属性】,
字段名 列类型 【列属性】,
...
)【表选项】
表选项(默认使用当前数据库设置):
charset 设置存储字符集
collate 设置校验集
engine 设置存储引擎
查看表结构: desc tablename
查看表创建语句:show creat table tablename
数据表重命名: rename table oldname to newname
删除数据表: drop table tablename
更改表结构:alert table ···
5、增查改删(CRUD)
数据表操作常用运算符
=、!=或<> 等于、不等于
<、> 小于、大于
<=、 >= 小于等于、大于等于
and、or、not、in(值列表,逗号分隔)、is null
between a and b介于一个包含范围内
like 搜索匹配的模式
%、_ 占位符0个或多个、1个
注意:数据库中没有赋值操作,=属于比较运算符
插入数据
INSERT INTO
按数据表列顺序插入:INSERT INTO table_name VALUES (value1, value2,....)
自定义插入列:INSERT INTO table_name (column1, column2,...) VALUES (value1, value2,....)
查询数据
SELECT column_name(s) FROM table_name 不加条件默认选取表中所有该列数据
选取一列: SELECT name FROM Persons 选取Persons表所有name列的数据 选取多列(逗号隔开): SELECT name,sex FROM Persons 选取Persons表所有name和sex列的数据 选取所有: SELECT * FROM Persons *代表所有列,选取Persons表所有列的数据 where筛选 SELECT column FROM tableWHERE column operator value Order By 排序 根据哪一列进行排序 SELECT column_name(s)FROM table_nameORDER BY column_name 升序或降序 默认是升序 使用 DESC 关键词来设定降序排序 SELECT column_name(s)FROM table_nameORDER BY column_name DESC 根据多个列进行排序 当按照多个列进行排序时,只有第一列相同时才使用第二列 SELECT column_name(s)FROM table_nameORDER BY column_name1, column_name2修改数据
update语句用于修改数据库表数据
UPDATE table_nameSET column_name = new_valueWHERE column_name = old_value删除数据
delete from table_name
where column_name=value