mysql
Posted yanxiatingyu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql相关的知识,希望对你有一定的参考价值。
首先将自己下载的mysql 包放到自己需要的目录下
然后去配置环境变量
然后进行mysqld 初始化
>>:mysqld --initialize-insecure
将MYSQL服务启动起来
>>mysqld
启动MySQL客户端并连接MYSQL服务
mysql -u root -p#连接MYSQL服务器 密码默认未设置
上一步解决了一些问题,但不够彻底,因为在执行【mysqd】启动MySQL服务器时,当前终端会被hang住,那么做一下设置即可解决此问题: 注意:--install前,必须用mysql启动命令的绝对路径 # 制作MySQL的Windows服务,在终端执行此命令: "c:mysql5640inmysqld" --install # 移除MySQL的Windows服务,在终端执行此命令:
"c:mysql5640inmysqld" --remove
注册成服务之后,以后再启动和关闭MySQL服务时,仅需执行如下命令: # 启动MySQL服务 net start mysql # 关闭MySQL服务 net stop mysql
#将服务改成手动模式
mysqld --install-manual
help create database
create database yanxiatingyu charset utf8;创建数据库,名称是yanxiatingyu,字符编码:utf8
数据库的命名规则:
可由:字母、数字、下划线、@、#、$
区分大小写
唯一性
不能使用关键字 如:create select
不能单独使用数字
最长128
数据库相关操作
查看数据库
show database;显示所有的数据库
show create database mysql_name;显示指定的数据库
select database();
选择数据库
USE 数据库名;
删除数据库
DROP DATABASE 数据库;
修改数据库
alter database sql_name charset utf8;
创建表:
语法:
create table 表名( 字段名1 类型[(宽度) 约束条件], 字段名2 类型[(宽度) 约束条件], 字段名3 类型[(宽度) 约束条件] );
#注意:
1.在同一张表中,字段名是不能相同的
2.宽度和约束条件可选
3.字段名和类型是必须的
创建数据库
>>create database yanxiatingyu charset utf8;
>>show databases;
>>use yanxiatingyu;
create table test( id int, name varchar(50), sex enum(‘male‘,‘female‘), age int(3) );
>>show tables;
插入数据:
insert into test values
(3,‘3egon‘,‘male‘,11),
(4,‘4alex‘,‘female‘,12),
(5,‘5egon‘,‘male‘,11),
(6,‘6alex‘,‘female‘,12),
(7,‘7egon‘,‘male‘,11),
(8,‘8alex‘,‘female‘,12);
查看表里面插入的数据:
select * from test;#*不设限
select age>11 from test;
select name from test;
select age,namg from test;
select into test(id) values
(3),
(4);
查看表结构:
describe test;
desc test;
查看表详细结构:
show create table testg;#加g代表查看表详细结构
show create table test;
修改表:
语法:
1. 修改表名
ALTER TABLE 表名
RENAME 新表名;
2. 增加字段
ALTER TABLE 表名
ADD 字段名 数据类型 [完整性约束条件…],
ADD 字段名 数据类型 [完整性约束条件…];
ALTER TABLE 表名
ADD 字段名 数据类型 [完整性约束条件…] FIRST;
ALTER TABLE 表名
ADD 字段名 数据类型 [完整性约束条件…] AFTER 字段名;
3. 删除字段
ALTER TABLE 表名
DROP 字段名;
4. 修改字段
ALTER TABLE 表名
MODIFY 字段名 数据类型 [完整性约束条件…];
ALTER TABLE 表名
CHANGE 旧字段名 新字段名 旧数据类型 [完整性约束条件…];
ALTER TABLE 表名
CHANGE 旧字段名 新字段名 新数据类型 [完整性约束条件…];
修改表名
alter table test rename user_info;
show tables;
show create table user_info;
alter table user_info rename test;
desc test;
增加字段
alter table test add user_info varchar(100);
desc test;
数字:
整型:tinyint int bigint
小数:
float:在位数比较的情况下不精准
double:在位数比较长的情况下不精准
decimal:如果用小数,则推荐使用decimal
精准
内部原理是以字符串形式去存
tinyint
有符号的范围是-128至127;
无符号的范围是0到255,2的8 次方-1;
存储大小为 1 字节。
smallint
有符号的范围是-32768至32767;
无符号的范围是0到65535,2的16次方-1;
存储大小为 2 个字节。
mediumint
有符号的范围是-8388608至8388607;
无符号的范围是0到16777215,2的24次方-1;
存储大小为 3 个字节。
int
有符号的范围是-2147483648至2147483647;
无符号的范围是0到4294967295,2的32次方-1;
存储大小为 4 个字节。
bigint
有符号的范围是-9223372036854775808至9223372036854775807;
无符号的范围是0到18446744073709551615,2的64次方-1;
存储大小为 8 个字节。
mysql 中int(1)和tinyint(1)中的1只是指定显示长度,并不表示存储长度,只有字段指定zerofill时有用
例如:int(3),如果实际值是2,如果列指定了zerofill,查询结果就是002,左边用0来填充。
注意:手机号虽然一般为纯数字,但是位数较长,若用int类型,若字段设置无符号则会被存储成4294967295,int的最大值,所以如果想用整形可以使用bigint(1),不过一般网上资料显示手机号这个字段,为了避免各种问题,用varchar的更多一点。
以上是关于mysql的主要内容,如果未能解决你的问题,请参考以下文章
连接MySQL出现错误:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)(代码片段
使用 json rereiver php mysql 在片段中填充列表视图
关于mysql驱动版本报错解决,Cause: com.mysql.jdbc.exceptions.jdbc4Unknown system variable ‘query_cache_size(代码片段
修改MySQL密码报错“ERROR 1819 (HY000): Your password does not satisfy the current policy requirements“(代码片段