前 言
mysql
mysql语法--本篇学习都是通过使用Navicat Premium(数据库管理工具),连接mysql数据.
本篇学习主要有两个部分:
一、创建用户,创建数据库,给用户分配权限,删除用户权限。
二、MYSQL中常见的数据类型
三、表-创建表、主键、外键
四、数据库设计的三大范式
以下所有代码全部在新建查询表里面使用mysql语法编辑。
1、创建用户,创建数据库,给用户分配权限,删除用户权限。 |
2 MYSQL中常见的数据类型 |
3、表-创建表、主键、外键 |
CREATE TABLE IF NOT EXISTS tb1( -- IF NOT EXISTS 可以省略,省略后重复创建报错.如果不省略,则创建时会检测表是否已存在,如果表存在则不再执行创建语句id INT(3), `name` VARCHAR(255) NOT null, -- name是系统关键字,所以使用反引号``包裹age SMALLINT(3) AUTO_INCREMENT PRIMARY KEY, lalala INT UNIQUE, height DOUBLE(3,2) DEFAULT 1.2 -- 设置默认值约束:默认值为1.2-- PRIMARY KEY(age));create table if not exists classes( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, classname VARCHAR(255) NOT NULL );CREATE table if not EXISTS `user`( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, clsId INT UNSIGNED, `name` VARCHAR(255) NOT NULL, CONSTRAINT user_fk_classes FOREIGN KEY (clsid) REFERENCES classes(id) ON DELETE SET NULL on update CASCADE)-- auto_increment-- 显示表结构SHOW TABLES;-- 显示表内容结构SHOW COLUMNS FROM TB1;-- 现实表的建表语句show create TABLE tb1;-- 删除表DROP TABLE IF EXISTS TB1;DROP TABLE IF EXISTS classes;DROP TABLE IF EXISTS `user`;-- 修改表名 ALTER table tb1 rename tb2;-- 修改字段 列-- alter table 表名 change 旧列名 新列名 列定义 [first|after某一列]-- first 将这个字段调整为表格第一列; after某一列: 将这个字段放到某一列后面alter table tb1 change height width VARCHAR(200) not NULL FIRST; -- 删除表中某一列alter table tb1 drop name;-- 新增一列:必选部分:alter table tb1 add haha DOUBLE(8,2)alter table tb1 add haha DOUBLE(8,2) DEFAULT 1.2 after age;-- 新增多列:不能调整列的位置,只能插在最后。alter table tb1 add ( ha1 DOUBLE(3,2) UNSIGNED, ha2 VARCHAR(255) );-- 同时修改多表明 rename table tb3 to tb1[,`USER`to user1];rename table tb2 to tb1,`USER`to user1;-- 增加主键约束alter table tb1 add PRIMARY KEY(id);-- 删除主键约束alter table tb1 drop PRIMARY KEY;-- 新增唯一性约束ALTER table tb1 add unique key(ha1);-- 删除唯一性约束:由于创建唯一性约束会默认创建索引,所以删除时,需删除索引ALTER table tb1 drop index ha1; -- 设置默认值约束:前提必须设置default 属性ALTER table tb1 alter ha1 set default 20;-- 删除默认值约束ALTER table tb1 alter haha drop default;-- 设置外键约束 必选部分 alter table tb1 add foreign key (clsid)REFERENCES classes(id)alter table tb1 add constraint waijianming foreign key (clsid)REFERENCES classes(id) ON DELETE SET NULL on update CASCADE;-- 删除外键约束,由于常见外键时会生成索引,所以删除外键后,需要删索引。alter table tb1 drop foreign key waijianming;alter table tb1 drop INDEX waijianming; SHOW COLUMNS FROM TB1;
4 数据库的三大范式 |
学习时候的笔记,可能会有一些错误的地方,欢迎各位的批评指点。
反思,复盘,每天收获一点---------------------期待更好的自己
以上是学习基础mysql语法的详细内容。更多信息请关注PHP中文网其他相关文章!