MySql8.0(01)

MySqlの基本

学習目的:

ローカルへのデータの永続性を実現します。
統合管理のための完全な管理システムを使用します。これにより、構造化されたクエリを実現し、管理が容易になります。

データベース関連の概念

DB:データベース(データベース)は、データを格納するためのコンテナであり、一連の整理されたデータを格納します。
DBMS:データベースソフトウェアまたはデータベース製品とも呼ばれるデータベース管理システム(データベース管理システム)は、DBの作成または管理に使用されます。
SQL:Structure Query Language(Structure Query Language)は、データベースとの通信に使用される言語です。特定のデータベースソフトウェアに固有ではありませんが、ほとんどすべての主流のデータベースソフトウェアに共通の言語です。

MySql構文仕様

-- 单行注释
-- sql语言中不区分大小写

/*
多行注释
*/
/*
DDl:数据定义语言,也是属于sql,只是按照功能划分
*/

データ定義言語DDL

データベースの作成と削除

-- 创建数据库
CREATE DATABASE IF NOT EXISTS school_db CHARSET utf8

-- 删除数据库
DROP DATABASE school_db

-- 修改数据库字符编码
ALTER DATABASE school_db CHARSET utf8
-- 数据库名一旦给定,不能更改

デザインテーブル

データベースでは、データは
テーブルの単位で保存されます。デザインテーブル:
テーブル名(保存された情報、1つのテーブルに1つのタイプの情報が保存されます)、
フィールド、
データタイプ、長さの
制約

-- 创建表,不添加任何约束
CREATE TABLE t_student(
	num INT,
	NAME VARCHAR(10),
	sex CHAR(1),
	birthday DATE,
	grade INT,
	score DOUBLE(4,1),
	mobile CHAR(11),
	reg_time DATETIME
)-- 删除表
DROP TABLE t_student


-- 创建表,添加约束和注释
/*
   约束:
   主键约束:一个表中只能有一个主键,不能为空,不能重复
   唯一约束:一个表中可以有多个重复,可以为空
   不能为空:可以有多个重复
   AUTO_INCREMENT 主键自动增长,数据类型必须为整数
*/
CREATE TABLE t_student(
	num INT PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
	NAME VARCHAR(10) NOT NULL COMMENT '姓名',
	sex CHAR(1) CHECK(sex='女' OR sex='男') COMMENT '性别',
	birthday DATE COMMENT '生日',
	grade INT COMMENT '班级',
	score DOUBLE(4,1) CHECK(score>=0 AND score <=100) COMMENT '成绩',
	mobile CHAR(11) UNIQUE COMMENT '手机号',
	reg_time DATETIME COMMENT '注册时间'
)


-- 创建表,不添加任何约束,通过ddl语句,修改表结构
CREATE TABLE t_student(
	num INT,
	NAME VARCHAR(10),
	sex CHAR(1),
	birthday DATE,
	grade INT,
	score DOUBLE(4,1),
	mobile CHAR(11),
	reg_time DATETIME
)


-- 添加主键约束       
-- ALTER TABLE  表名  ADD  PRIMARY KEY(列名) 
   ALTER TABLE  t_student  ADD  PRIMARY KEY(num)
   
-- 删除主键约束
-- ALTER TABLE 表名  DROP PRIMARY KEY
   ALTER TABLE t_student  DROP PRIMARY KEY
   
-- 设置自动增长
-- ALTER TABLE  表名  MODIFY  列名  类型  AUTO_INCREMENT
   ALTER TABLE  t_student  MODIFY  num  INT  AUTO_INCREMENT
   
-- 删除自动增长
-- ALTER TABLE  users  MODIFY    列名  类型 ; 
   ALTER TABLE  t_student  MODIFY    num INT 
   
-- 设置不能为空
-- ALTER TABLE   表名  MODIFY  列名  类型  NOT NULL; 
   ALTER TABLE   t_student  MODIFY  NAME  VARCHAR(10)  NOT NULL
  
-- 设置可以为空   
-- ALTER TABLE 表名 MODIFY    列名    类型  NULL;
   ALTER TABLE t_student MODIFY    NAME    VARCHAR(10)  NULL
   
-- 添加唯一约束
-- ALTER TABLE 表名  ADD CONSTRAINT 约束名 UNIQUE(列名)
   ALTER TABLE t_student  ADD CONSTRAINT mobile_unique UNIQUE(mobile)
   
-- 通过约束名删除约束   
-- ALTER TABLE 表名 DROP INDEX 约束名;
   ALTER TABLE t_student DROP INDEX mobile_unique
   
-- 添加检查约束
-- ALTER TABLE  表名 ADD CONSTRAINT 约束名 CHECK(条件)
   ALTER TABLE  t_student ADD CONSTRAINT score_check CHECK(score>=0 AND score<=100)
-- 删除check约束
-- ALTER TABLE 表名  DROP CHECK  约束名;
   ALTER TABLE t_student DROP CHECK  score_check
   
   
-- 添加列
-- ALTER  TABLE  表名  ADD   列名 数据类型
   ALTER  TABLE  t_student  ADD   address VARCHAR(50) NOT NULL
   
-- 删除列
-- ALTER TABLE  表名  DROP 列名
   ALTER TABLE  t_student DROP address
   
-- 在第一列添加列   
-- ALTER  TABLE  表名  ADD   列名 数据类型 FIRST
   ALTER  TABLE  t_student  ADD   address VARCHAR(50) FIRST
   
-- 在指定列后添加列
-- ALTER  TABLE  表名  ADD   列名 数据类型 AFTER 列名
   ALTER  TABLE  t_student  ADD   address VARCHAR(50) AFTER mobile

-- 修改列名
-- ALTER TABLE    表名    CHANGE    旧列名   新列名    数据类型
   ALTER TABLE    t_student    CHANGE    mobile   phone    VARCHAR(11)
   
-- 修改列的数据类型
-- ALTER TABLE   表名  MODIFY   列名  新数据类型
   ALTER TABLE   t_student  MODIFY   address  VARCHAR(40)
   
-- 表结构修改语法
-- alter table 表名 add/drop/change/modify(修改)


-- 删除表
	DROP TABLE t_student

-- 修改表名
-- RENAME   TABLE  旧表名    TO   新表名
   RENAME   TABLE  t_student   TO   student
   
-- 复制表结构
-- CREATE TABLE  新表名 LIKE 被复制表名;
   CREATE TABLE  stu LIKE student

おすすめ

転載: blog.csdn.net/XiaoFanMi/article/details/113887614