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的片段中加载ListView

连接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“(代码片段

mysql查看版本的四种方法