前言
基于mysql知识不太牢固,再次进行基础学习,总结如下,希望对正在学习的人有所帮助
数据库
新建数据库
# utf-8
CREATE DATABASE 数据库名称 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
# GBK
CREATE DATABASE 数据库名称 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
解释
create database 新建数据库
charset utf8 声明格式为utf-8格式
DEFAULT CHARACTER SET utf8:数据库字符集。设置数据库的默认编码为utf8,utf8中间不要"-";
COLLATE utf8_general_ci:数据库校对规则。ci是case insensitive的缩写,意思是大小写不敏感
具体示例如下
create database test1 default charset utf8 collate utf8_general_ci;
查看数据库
show databases;
引用数据库
use 数据库名;
示例:
use test1;
数据库备份
使用 mysqldump 命令备份一个数据库的语法格式如下:
mysqldump -u username -p dbname [tbname ...]> filename.sql
解释如下
username:表示用户名称;
dbname:表示需要备份的数据库名称;
tbname:表示数据库中需要备份的数据表,可以指定多个数据表。省略该参数时,会备份整个数据库;
>:告诉 mysqldump 将备份数据表的定义和数据写入备份文件;
filename.sql:表示备份文件的名称,文件名前面可以加绝对路径。通常将数据库备份成一个后缀名为.sql的文件。
数据表
新建数据表
格式
create table 表名(
列名 类型 是否可以为空,
列名 类型 是否可以为空
)ENGINE=InnoDB DEFAULT CHARSET=utf8
具体示例如下
create table quan(
-> `quan_id` INT unsigned auto_increment,
-> `quan_username` varchar(50) NOT NULL,
-> `quan_password` varchar(50) NOT NULL,
-> `submission_date` date,
-> PRIMARY KEY (`quan_id`)
-> )ENGINE=InnoDB DEFAULT CHARSET=utf8;
解释
quan是表名
->是换行标识符
quan_id、quan_username、quan_password以及submission_date都是表的字段名,也就是列名
列名后面的是对列的定义
auto_increment定义列为自增列,一般用于主键
NOT NULL 表示不允许列中字段为空
PRIMARY KEY 声明主键
ENGINE 设置存储引擎
DEFAULT CHARSET 设置编码
查看表信息
select * from 表名;
示例
select * from quan;
查看表结构
desc table_name;
具体示例如下
desc quan
执行结果
增
增字段
insert into 表名 values (字段信息,字段信息,字段信息);
示例
insert into quan values (180,'study',12121);
执行结果
指定字段增
insert into 表 (列名,列名...) values (值,值,值...)
//想加入多条信息只需加上一个逗号,然后继续(值,值,值...)即可
示例如下
insert into quan(quan_id,quan_username) values (2,'qq');
执行结果
删表
delete 表名
delete from 表名 where 列名=1;
具体示例
delete from quan where quan_id=1;
执行结果
改表
UPDATE table_name SET column = expr [, column = expr ...]
其他可选项
[WHERE ...] [ORDER BY ...] [LIMIT ...]
具体示例如下
update quan set quan_username='qqqqq' where quan_id=11;
执行结果
模糊查询
select 列名 from 表名 where 列名 like 'q%';
%表示匹配0次或多次
select 列名 from 表名 where 列名 like 'q_';
_表示匹配一次
示例如下
select quan_username from quan where quan_username like 'q%';
select quan_username from quan where quan_username like 'q_';
执行结果