MySQL基础学习2

数据库


数据库的创建

CREATE DATABASE [IF NOT EXISTS 数据库名 设置数据库名
[DEFAULT] CHARACTER SET 字符集 字符集
[DEFAULT] COLLATE 排序规则 排序规则

注:[ ]内的内容可有可无,非必须条件

排序规则

utf8_general_ci不区分大小写,这个你在注册用户名和邮箱的时候就要使用。
utf8_general_cs区分大小写,如果用户名和邮箱用这个 就会造成不良后果
utf8_bin:字符串每个字符串用二进制数据编译存储。 区分大小写,而且可以存二进制的内容

修改数据库

ALTER DATABASE 数据库名 和数据库的创建格式一样,除第一行改变,其余一样。

删除数据库

DROP DATAVASE 数据库名;

数据类型介绍

数值型:
  • 整型:INT
  • 小数:浮点型:float(M,D),double(M,D),decima(M,D) ,(M为全长,D为小数点后长度。)
字符型:
  • char:固定长度字符串,char(10)不管实际使用多少,最后都占十个字符,用空格补全。
  • varchar:可变长度字符串 ,varchar(20)最大20个字符,但是实际占用多少就是多少。
日期型:
  • date:日期类型 yyyy-MM-dd 2020-03-02
  • time:事件类型 hh:mm:ss 19:47:30
  • timestamp:时间戳 1970-1-1至2038-12-31 yyyyMMddhhmmss (受时区影响,受MySQL版本影响)

数据表

数据表的创建

CREATE TABLE 表名(
        字段名 字段类型 [字段约束],
        字段名 字段类型 [字段约束],
        字段名 字段类型 [字段约束],
        字段名 字段类型 [字段约束]
);
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
	[(create_definition,...)]
	[table_options] [select_statement]

create_definition: 每个字段都可以包括如下属性的定义:

col_name type:

  • [NOT NULL | NULL]:字段是否运行为空
  • [DEFAULT default_value] :为字段定义默认值
  • [AUTO_INCREMENT]:字段是否为自动增长列,只有整型才能用
  • [UNIQUE [KEY] | [PRIMARY] KEY]:字段是否唯一键或主键
  • [COMMENT ‘string’]:为字段增加描述性文字

table_options:

ENGINE|TYPE = engine_name:选项用于为表指定存储引擎
AUTO_INCREMENT = value:为表设置 初始的 AUTO_INCREMENT 值
[DEFAULT] CHARACTER SET charset_name [COLLATE collation_name]:用于为表 指定一个默
认字符集以及排序规则

COMMENT = ‘string’:表的注释,最长 60 个字符

select_statement:

该选项表示新建的表是基于已有的查询结果集创建的。

注:[ ]内的内容可有可无,非必须条件

创建临时表

CREATE TEMPORARY TABLE [IF NOT EXISTS] tbl_name
[(create_definition,...)]
[table_options] [select_statement]

把正常建表当中的[ ]改为 TEMPORARY就可以创建临时表了,其余写法和正常建表一样。

添加数据

insert into 数据表命 values('数据','数据');

删除数据库表

drop table +数据表名;

清空数据表

truncate table 表名;

复制表的数据和结构

CREATE TABLE 新表 SELECT * FROM 旧表

复制表的结构

CREATE TABLE 新表 SELECT * FROM 旧表 WHERE 1=2

CREATE TABLE 新表 LIKE 旧表

发布了5 篇原创文章 · 获赞 18 · 访问量 2636

猜你喜欢

转载自blog.csdn.net/lolly1023/article/details/104699077