mysql

作者: 谁占了我的一年的称号 | 来源:发表于2017-04-22 22:55 被阅读47次

查看现有的数据库
>SHOW DATABASES;
创建数据库
CREATE DATABASE test; (创建名字为test的数据库)

在sql里所有的名字都要带上反引号,不然如果名字为关键字会产生冲突

查看数据库创建语句

SHOW CREATE DATABASE test

(* 我们默认的显示格式,通常是表格格式,这就使得特别长的表格显示不好看
改为:
>SHOW CREATE DATABASE test\G;)

在sql语句里,任何语句都要以“;”来结尾或者“\G"来结尾,否则只是换了一行来继续输入,在sql里可以跨行输入,如果出现-》通常需要继续补充后续内容。在以分好结尾。如果在中途有输入错误,则可以以”\c“来取消报错。

在更改配置文件后,数据库的默认编码改为了”utf8“。
所以在创建数据库的时候手动指定编码。

CHARACTER SET UTF8

删除数据库

DROP DATABASE 库名;

修改数据库设置

ALTER DATABASE 库名 CHARSET UTF8;


  1. 不建议在MySQL中去修改数据库的名字(在创建一个新表,然后把数据库里的表全部移动过去)

  2. 在sql数据库中统一将“关键字”和“保留字”大写,而自定义名字通常小写,且带上反引号。

  3. 数据库的排序默认设置为‘collation’,所以通常不需要去关心。


二、建表

  1. 在直接制定一个数据库中的表的时候,必须要带上数据库名,例如:‘MySQL’数据库中的‘user’表,应该写成‘MySQL.user'。
  2. 其次,如果你希望省略掉’数据库名‘那么请使用一个优先数据库。

创建表格

CREATE TABLE `test`.`user`(
          `email` char(100) CHARSET latin1 NOT NULL DEFAULT  ' ',
          `name` varchar(20)  COLLATE utf8_bin NOT NULL DEFAULT ' ',#varchar根据数据大小自动分配。
          `gender` boolean,
          PRIMARY KEY(`email`,`name`)#组件,表明这两个组合在一起是唯一且不为空。
);
ENGINE=MyISAM(InnoDB)#引擎MyISAM查询快,InnoDB修改快。默认使用InnoDB

1.在指定表名的时候要指定是哪个数据库的,并且用点号还分割数据库名和表名,但是不能把点号包含在反引号之内。

2.用一个大括号包含了每一列,通常把每一列卸载一行里,并用逗号分割。

3.表和列都和数据库一样,可以在创建时设置编码、字符集以及排序规则。

如果没有指定就有一套继承规则:行继承表,表继承数据库,数据库继承配置文件。
查看一个现有表的创建语句
SHOW CREATE TABLE 'mysql’,‘user’;
utf8_general_ci 不区分大小写的排序,速度快
utf8_general_bin 区分的排序

相关文章

网友评论

      本文标题:mysql

      本文链接:https://www.haomeiwen.com/subject/yxtezttx.html