一.创建数据库命令:
creat database if not exists db_name default ''
character set charset_name
C:\Windows\system32>cd /DD:\Program\mysql\mysql-5.7.25-winx64\bin
[default] collate collation_name
character(字符集) 默认 utf8
collate (校验规则)默认utf8_general_ci不区分
大小写utf8_bin区分大小写
CREATE DATABASE db05
CHARACTER SET utf8
COLLATE utf8_general_ci
二 .删除数据库命令 drop database db_name [if exists]
DROP DATABASE db01
删除表:DROP TABLE users
三.显示数据库命令:show databases;
四.显示数据库创建语句:show create database db_name;(当时定义的信息)
show databases
show create database db03
五.备份数据库命令:(doc)mysqldump -u root -p -B db_name db_name2 >d:\bakname.sql
D:\Program\mysql\mysql-5.7.25-winx64\bin>mysqldump -u root -p -B db04 db05 >dump.sql
D:\Program\mysql\mysql-5.7.25-winx64\bin>mysqldump -u root -p -B db03 >d:\\Program\\mysql\\spk.sql(多级目录)
恢复数据库 source name.sql(进入mysql命令行里执行)
mysql> source d:\\dump.sql
只备份表:mysqldump -u root -p db_name
table_name table2_name >d:\\name.sql(没有-B)
mysqldump -u root -p db03 user>d:\\sak.sql
mysql> source d:\\sak.sql
六.创建表:create table table_name( field1(列名) datatype,field2 datatype) character set charset collate collation engine 引擎
CREATE TABLE `user`( id INT ,NAME CHAR) ENGINE INNODB
CREATE TABLE `user1`(
id INT ,
`name` VARCHAR(255),
`password` VARCHAR(255),
`birthday` DATE)ENGINE INNODB
七. 列的数据类型(mysql的数据类型)
整数类型
类型 字节
tinyint 1
smallint 2
mediumint 3
int 4
bigint 8
1小数类型:
float 4(保留小数位4)
double 8(保留小数位8)
decimal[M,D] (保留小数位D)
文本或字符串类型:
2 字符类型
char(0-255)定就是定义多大分配多大
varcahr(0-65535字节)2^16-1D变长就是使用的比定
义的小就用使用的长度
text 同上但是没有默认值直接用,
用多大分配多大比较方便
mediumtext 2^24~0字节 同上但是没有默认值直接用
用多大分配多大比较方便
longtext 2^32-1字节 同上但是没有默认值直接用,
用多大分配多大比较方便
3二进制:
blob 2^16-1~0
longblob 0~2^32-1
4 日期类型:date 年月日
time 时分秒
datetime 年月日时分[YYY-MM-DD HH:mm:ss]
TimeStamp时间戳
year年
CREATE TABLE `t1` (id TINYINT UNSIGNED)
INSERT INTO `t1` VALUES(255)
bit(M位)默认1可以1~64 3 > `11`按二进制显示
decimal(M,D)M位数最大65,D小数位最大30
char:固定长度字符串最大255字符
varchar:可变字符串0~65535字节utf8基础上21844字符末尾1~3字节用于记录大小存放字节因为编码改变 (65535-3)/3=21844gdk
create table t1 (`name2` varchar(21844))
char()和varchar()的里面写的都是字符数根据编码形式判断占用gbk3个字节一个字符utf8 2个
CREATE TABLE t3 (`name2` VARCHAR(4))
INSERT INTO t3 VALUES('abcd')
INSERT INTO t3 VALUES('我是传奇')
SELECT * FROM t3
char比varchar查询速度更快因为定常
5时间类型:
CREATE TABLE t11 (birthday DATE, job_time DATETIME, login_time TIMESTAMP
NOT NULL DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP
);自动更新时间
INSERT INTO t11(birthday ,job_time) VALUES('2011-10-18','2021-10-18 10:10:10')如果不指定timestamp,则它自动更新为当前处理时间