MySQL笔记
现有服务
1 2 3 4 5 6 7 8
| 老笔记本现有服务: mysql1: root john376577 新笔记本现有服务: mysql1: root john376577
|
MySQL安装方法
下载并解压压缩包,添加bin
为环境变量。
README
同目录下新建my.ini
,内容为:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| [mysqld]
port=3306
basedir=E:\\software\\mysql\\mysql-8.0.11-winx64
datadir=E:\\software\\mysql\\mysql-8.0.11-winx64\\Data
max_connections=200
max_connect_errors=10
character-set-server=utf8
default-storage-engine=INNODB
default_authentication_plugin=mysql_native_password [mysql]
default-character-set=utf8 [client]
port=3306 default-character-set=utf8
|
其中路径要自己新建。
管理员身份运行cmd
。
bin下执行:
1
| mysqld --initialize --console
|
[Note] [MY-010454] [Server] A temporary password is generated for root@localhost: og(jsq8Otd6l
记住密码og(jsq8Otd6l
。
1 2 3 4 5
| mysqld --install [服务名] net start [服务名] 启动 net stop [服务名] 停止 sc delete [服务名]或mysqld -remove 卸载 mysql -u root -p
|
执行后输入(临时)密码。
改密码:
1
| alter user "root"@'localhost' identified with mysql_native_password by 'john376577';
|
MySQL Workbench安装方法
安装,Preference
中Apprearance
中Fonts
改为Simplified Chinese
,data
文件夹中main_menu.xml
内容改为main_menu_Chinese.xml
中内容。
启动
1
| mysql -u用户名 -p密码 -h ip地址 -P端口号
|
注释
类型
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| tinyint -128~127 smallint -32768~32767 mediumint -8388608~8388607 int -2147483648~2147483647 bigint -9223372036854775808~9223372036854775807
float double
decimal(M,D)
char varchar binary varbinary tinytext text mediumtext longtext enum set
year 1901~2155
time -838:59:59~838:59:59
date 1000-01-01~9999-12-31
datetime 1000-01-01 00:00:00~9999-12-31 23:59:59
timestamp 19700101080001~20380119111407
|
create
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
create database ...; create database if not exists ...; create database ... default character set utf8; create database ... default charset utf8 collate utf8_romanian_ci; create unique index 索引名 on 表名(列名1[(长度)],...[desc]); create index 索引名 on 表名(列名(长度)); create [temporary] table [if not exists] ...( 列名1 数据类型 [约束条件] [默认值], 列名2 数据类型 [约束条件] [默认值], ... )[表约束条件]; primary key(列名1,列名2,...) [constraint<外键名>]foreign key(列名1,...)references<父表名>(主键列名1,...) 列名 数据类型 not null 列名 数据类型 unique 列名 数据类型 default 默认值 列名 数据类型 auto_increment 例如: create table 'user_tmp3'( 'id' int(11), 'name' varchar(128), 'age' int(11), primary key('id','name'), unique [索引名](列名(长度)), index [索引名](列名(长度)) )engine=innodb default charset=utf8
|
use
show
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| show warnings; show tables; show create database ...; show create table ...; show databases; show engines; show character set; IE6用UTF-8 命令行用GBK 一般程序用GB2312 UTF-8格式所有编码通吃 LATIN1<GB2312<GBK<UTF-8 一定保证connection字符集>client字符集 show collation; show variables like 'character%'\g; character_set_client 客户端请求数据的字符集 character_set_connection 客户机/服务器连接的字符集 character_set_database 默认数据库字符集,建议不要人为定义 character_set_filesystem os上文件名(character_set_client)转成此字符集,默认binary不转换 character_set_results 返回给客户端的字符集 character_set_server 数据库服务器默认字符集 character_set_system 总是utf8,用于表列、函数的名字 show variables like 'collation%'\g; collation_connection 当前连接的字符集 collation_server 服务器默认校验 collation_database 当前日期默认校验。每次跳转另一个库时改变,没有库时等于collation_server
|
desc
alter
1 2 3 4 5 6 7 8 9 10 11
| alter database ... default character set utf8; alter table 原表名 rename [to] 新表名; alter table 表名 modify 列名 数据类型; alter table 表名 change 原列名 新列名 数据类型; alter table 表名 add column 新列名 数据类型 [约束条件][first|after 字段名]; alter table 表名 drop 列名; alter table 表名 modify 列名 数据类型 {first|after 字段名}; alter table 表名 engine=新引擎名; alter table 表名 drop foreign key 外键约束名; alter table 表名 add unique [索引名](列名[(长度)]); alter table 表名 add index 索引名(列名);
|
drop
1 2 3
| drop database ...; drop table [if exists] 表1,表2,...; drop index [索引名] on 表名;
|
rename
1
| rename table 原表名 to 新表名;
|
insert
1
| insert into 表名 (列名1,...,值n)values(值1,...,值n),(...),...;
|
select
1 2 3 4
| select 列名1,... from 表名 [where 条件][limit n][offset m]; 例如: select * from user; select name,age from user where age>20;
|
update
1
| update 表名 set 列名1=新值1,... [where 条件];
|
delete
1
| delete from 表名 [where 条件];
|
replace
1
| replace [into] 表名 [(列名1,...)]{values|value}({expr|default},...),(...),...;
|