首页 / MYSQL / mysql语法建库建表综合整理事例
mysql语法建库建表综合整理事例
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql语法建库建表综合整理事例,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3263字,纯文字阅读大概需要5分钟。
内容图文
![mysql语法建库建表综合整理事例](/upload/InfoBanner/zyjiaocheng/520/2ae20456b6504b2b9fc4172bf4196fb3.jpg)
首先介绍一个数据库常用编码格式区别:
mysql数据库编码格式utf8_general_ci、utf8_bin、utf8_general_cs区别:
utf8_bin将字符串中的每一个字符用二进制数据存储,区分大小写。(bin -> binary二进制的意思)
utf8_genera_ci不区分大小写,ci为case insensitive的缩写,即大小写不敏感。
utf8_general_cs区分大小写,cs为case sensitive的缩写,即大小写敏感。
简介cmd中使用数据库常用语法
mysql -u 用户名 -p 密码; /*进入数据库*/
show datbases; /*展示所有数据库*/
use 库名; /*选择数据库*/
show tables;/*显示表结构*/
进去正题:
创建一个名为stu数据库(注释使用编码格式utf8_bin):
CREATE DATABASE `stu`; /*!40100 COLLATE 'utf8_bin' */
进去数据库:
USE `stu`;
创建一个t_user表 主键id学号, name姓名,phone手机号,sex性别,brithday生日,create_date插入时间(字段名注明):
CREATE TABLE `t_user` (
`id` INT NOT NULL AUTO_INCREMENT COMMENT '学号' /*后加PRIMARY KEY 列级约束*/,
`name` CHAR(5) NOT NULL COMMENT '姓名' /*后加UNIQUE,唯一约束可以为空*/ ,
`phone` VARCHAR(11) NULL COMMENT '手机号',
`sex` CHAR(2) NOT NULL check(`sex`='男' or `sex`='女') COMMENT '性别' ,
`brithday` DATE null COMMENT '生日' ,
`create_date` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP() COMMENT '插入时间',
PRIMARY KEY (`id`)/*表级约束,PRIMARY KEY (`*`,`*`)复合主键*/
)
COLLATE='utf8_bin';
主键不可为空,AUTO_INCREMENT一般和主键一起使用
SET @@auto_increment_offset=2; /*自增初始值设置 */ SET @@auto_increment_increment=2; /*步长设置*/
改变已有自增主键(包括删除已有数据)
第一步
ALTER TABLE `t_use` DROP COLUMN id; /*删除自增列*/
第二步
1.--新增一个字段 ALTER TABLE `t_use` ADD id BIGINT; 2.--修改一个字段 ALTER TABLE `t_use` CHANGE COLUMN id id BIGINT not null auto_increment primary key;
ALTER COLUMN、MODIFY COLUMN 和 CHANGE COLUMN 语句修改列:
- ALTER COLUMN:改变、删除列的默认值(备注:列的默认值存储在 .frm 文件中)。这个语句会直接修改 .frm 文件而不涉及表数据,所以操作很快。
1.--改变默认值 ALTER TABLE `t_use` ALTER COLUMN id DEFAULT 1; 2.--删除默认值 ALTER TABLE `t_use` ALTER COLUMN id DEFAULT;
- MODIFY COLUMN:修改列数据类型;改变列的默认值、删除列的默认值(备注:这个操作会做读、插入操作,即:拷贝了整张表到一张新表)。
ALTER TABLE `t_use` MODIFY COLUMN id BIGINT not null keyDEFAULT 1;
- CHANGE COLUMN:重命名列;重命名列和修改列的数据类型(备注:单独修改列的数据类型报错)。
ALTER TABLE `t_use` CHANGE COLUMN id new_id BIGINT not null auto_increment primary key;
联合主键也称为双主键、复合主键,应用场景如下
当一个字段无法确定唯一性的时候,需要其他字段来一起形成唯一性。就是说用来组成唯一性的字段如果有多个就是联合主键 如: 学生成绩(学号,课程号,成绩) --那学号和课程号就可以做为联合主键. 因为学号和课程号决定了成绩.也就是说.你要知道成绩..你就要知道学号,知道学号,但还不能知道某一科的成绩.还要知道课程号. 所以函数依赖关系是{学号,课程号}->{成绩}
注意事项:
- 数据库表中不能有多个主键,如果已经存在主键,则复合主键会创建失败
- 复合主键的效率受数据类型影响,尽量使用简单数据类型
- 在创建复合主键时,数据关系一定要理清楚,否则可能会带来未知的错误
ON UPDATE:更新数据同时更新时间戳
ALTER TABLE `stu` CHANGE COLUMN `date` `date` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP() FIRST;
mysql语法建库建表综合整理事例
标签:进入 new 主键 red 组成 介绍 唯一性 mys 错误
本文系统来源:https://www.cnblogs.com/cool-fun/p/12428019.html
内容总结
以上是互联网集市为您收集整理的mysql语法建库建表综合整理事例全部内容,希望文章能够帮你解决mysql语法建库建表综合整理事例所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。