MySQL数据库(三)
1. 创建表
create table student(
id int unsigned not null auto_increment primary key,
name varchar(8) not null,
sex char(4) not null
)engine=InnoDB default charset='utf8';
注意不存在utf-8。
MySQL自增型字段的值从1开始递增,且步长为1。设置自增型字段的语法格式如下。
字段名 数据类型 auto_increment
-- 设置主键(Primary Key)约束
-- 如果一个表的主键是多个字段的组合(例如字段名1与字段名2共同组成主键),定义完所有的字段后,使用下面的语法规则将(字段名1, 字段名2)设置为复合主键。
-- primary key (字段名1, 字段名2)
create table student(
id int unsigned not null ,
name varchar(8) not null,
sex char(4) not null,
primary key (id,name)
)engine=InnoDB default charset='utf8';
2.复制一个表
方法一:在create table语句的末尾添加like子句,可以将源表的表结构复制到 新表中,语法格式如下。
-- create table 新表名
like 源表;
create table newstudent like student;
方法二:在create table语句的末尾添加一个select语句,可以实现表结构的复制,甚至可以将源表的表记录拷贝到新表中。下面的语法格式将源表的表结构以及源表的所有记录拷贝到新表中。
-- create table 新表名 select * from 源表
;
create table newstudents select * from student;
3.添加约束条件
-- alter table 表名 add constraint 约束名 约束类型 (字段名)
例:如果没有主键,添加主键约束。
alter table student add constraint sid primary key (id);
例:添加外键约束
alter table ss add constraint aa foreign key (ip) references s (id);
·删除约束条件
删除表的主键约束条件语法格式比较简单,语法格式如下。
alter table 表名 drop primary key
4.mysql在cmd中乱码问题
MySQL是默认utf8编码的,所建数据库也是设置utf8编码,使用程序可以新增中文数据,在cmd中使用SQL语句新增数据则报类似Incorrect string value: '\xB2\xE2\xCA\xD4' for column 'title' at row 1错误,而使用SQL语句查询出之前程序所新增中文数据都是乱码的。
右击在cmd界面上面边框→属性→选项 ,查看cmd的编码方式是是GBK,并不是utf-8。
其实数据库内部是没有乱码的,只是和cmd的编码方式不一样,在cmd呈现出来的中文数据才是乱码的,也造成了新增不了中文数据的情况。
使用MySQL的图形界面管理工具则不存在此问题了。
直接在mysql>下输入 set names gbk; 即可解决问题。
MySQL数据库(三)的更多相关文章
- MySQL数据库三
MySQL数据库三 多表查询: 有条件的内连接 将两张表根据相同的id连接起来 select * from info join details on info.id = details.id sele ...
- Java连接MySQL数据库三种方法
好久没有更新博客了!今天利用周目时学习了一下数据库mysql.介绍一下数据库的三种连接方式! 开发工具:Myeclipse MySQL5.6 MySQL连接驱动:mysql-connector-jav ...
- mysql数据库(三):查询的其他用法
一. 查询—IN的用法 语法:select ... from 表名 where 字段 a in (值b, 值c, 值d...) 等价于 select ... from 表名 where 字段a=值b ...
- java连接mysql数据库 三 实现增删改查操作
同以前一样,先写一个数据库打开和关闭操作类 public class DBConnection { String driver = "com.mysql.jdbc.Driver"; ...
- node 连接 mysql 数据库三种方法------笔记
一.mysql库 文档:https://github.com/mysqljs/mysql mysql有三种创建连接方式 1.createConnection 使用时需要对连接的创建.断开进行管理 2. ...
- MySQL数据库(三)
前提要述:参考书籍<MySQL必知必会> 2.1 MySQL简介 2.1.1 什么是MySQL MySQL是一种关系数据库管理系统.负责数据库中数据的存储,检索,管理和处理. 2.1.2 ...
- Django框架的使用教程--mysql数据库[三]
Django的数据库 1.在Django_test下的view.py里面model定义模型 from django.db import models # Create your models here ...
- mySQL数据库三:命令行附录
一:where 在上一篇,粗略的介绍了where,但是where后面可以跟其他的条件,现在我们来一一说明 1.between:在某两个值之间 我建立一个名为person的表,里面有id,name,ag ...
- JSP连接mysql数据库的重点
1:用mysql驱动把mysql与tomcat的连接起来.把mysql驱动包(不用解压)放到Tomcat安装目录中lib文件夹下即可. 2:然后在自己的新建的web应用程序上面就可以下下面的代码 3: ...
- 服务器怎么安装mysql数据库
有些小伙伴们想自己玩玩服务器.可以买了服务以后,发现服务器就是一个大框子,没有数据存储.啥都没有,这时候就需要各种软件操作来逐步安装这些东西, 一.使用的工具:xshell(从官网上下载),目的是得使 ...
随机推荐
- 浅谈AVL树,红黑树,B树,B+树原理及应用(转)
出自:https://blog.csdn.net/whoamiyang/article/details/51926985 背景:这几天在看<高性能Mysql>,在看到创建高性能的索引,书上 ...
- nginx基本配置与参数说明-【转】
#运行用户 user nobody; #启动进程,通常设置成和cpu的数量相等 worker_processes 1; #全局错误日志及PID文件 #error_log logs/error.log; ...
- iOS设计模式(01):观察者
iOS设计模式(01):观察者 iOS-Observer-Pattern 什么是观察者模式 什么是观察者模式?你曾经订阅过报纸吗?在订阅报纸的时候,你不用去任何地方,只需要将你的个人地址信息以及订阅信 ...
- 全部物料的交期都要加上两天 V_OUT_PR
DUE_DATETIME加上两天就可以,如果只是部分物料的话,就要根据物料组或者别的一些条件去判断
- 刷题向》一道逆向思维题(BZOJ1046)(NORMAL)
这道题对于一类题都有一个通用思路:反向递减序列即为正向字典序. 对于逆向思维的题还要多做才能培养这种对于逆向思维的感觉. 想到这种方法之后,就很简单了. 因为n×m不会炸,所以反向LIS叠一个贪心就能 ...
- 636. Exclusive Time of Functions 进程的执行时间
[抄题]: Given the running logs of n functions that are executed in a nonpreemptive single threaded CPU ...
- CentOS 6.4一键自动化安装ISO镜像光盘
下载CentOS-6.4-x86_64-minimal.iso 1 http://mirrors.163.com/centos/6.4/isos/x86_64/CentOS-6.4-x86_64-mi ...
- SqlSugar Asp.Net 高性能ORM框架
SqlSugar从去年到现在已经一年了,版本从1.0升到了现在的2.4.1 ,这是一个稳定版本 ,有数家公司已经项目上线,在这里我将SqlSugar的功能重新整理成一篇新的贴子,希望大家喜欢. 公司团 ...
- python时间处理详解-乾颐堂
1.获取当前时间的两种方法: import datetime,time now = time.strftime("%Y-%m-%d %H:%M:%S") print now now ...
- select下拉列表
1.写 <!DOCTYPE html> <html> <head> <title></title> <script language= ...