sql操作命令

CREATE TABLE `learn`.“( /* 未指定表名 */
`heihei` INT(5) UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`heihei`)
);

注:自增和默认值不能同时存在

默认 DEFAULT

DROP learn;
DROP DATABASE learn;     #删除数据库
CREATE DATABASE school;    #创建数据库
USE learn;
`student`

CREATE TABLE student(
id INT(4) PRIMARY KEY AUTO_INCREMENT COMMENT ‘主键,学号’,
pwd VARCHAR(20) DEFAULT ‘123456’ NOT NULL COMMENT ‘密码’,
`name` VARCHAR(30) DEFAULT ‘匿名’ NOT NULL COMMENT ‘姓名’,
sex VARCHAR(2) NOT NULL DEFAULT ‘男’,
birthday DATETIME COMMENT ‘出生日期’,
address VARCHAR(100) COMMENT ‘家庭住址’,
email VARCHAR(50)
)

CREATE TABLE student(
studentNo INT(4) NOT NULL PRIMARY KEY COMMENT ‘学号’,
Pwd VARCHAR(20) NOT NULL COMMENT ‘密码’,
`studentName` VARCHAR(50) NOT NULL COMMENT’姓名’,
`sex` CHAR(2) DEFAULT ‘男’NOT NULL COMMENT’性别’,
`gradeID` INT(4) UNSIGNED COMMENT’年级编号’,
`phone` VARCHAR(50)COMMENT ‘联系电话’,
`address` VARCHAR(255) DEFAULT’地址不详’ COMMENT’地址’,
`bornDate` DATETIME COMMENT ‘出生时间’,
`email` VARCHAR(50) COMMENT ‘邮件账号’,
`identityCard` VARCHAR(18) COMMENT’身份证号’
)

#更改学生姓名为李文才的Email为~~~~~
UPDATE student SET email=’~~~~~’ WHERE studentName=’李文才’
SELECT *

#将学生表中学号为20000的学生的邮箱修改为———密码修改为
UPDATE student SET email=’hahahah’ pwd=’hahha’ WHERE id=’20000′
SELECT student

#将科目表中课时数大于200且年级编号为1的科目的课时减少10
UPDATE kemubiao SET keshi=keshi-10 WHERE keshi>200 AND bianhao=’1′

#将所有年级编号为1的学员姓名、性别、出生日期、手机号码信息保存到新表student_grade1中

#查询2016年2月17日考试前5名学员的学号和分数

#将所有女学生按年龄从大到小排序,从第2条记录开始显示6名女学生的姓名、年龄、出生日期、手机号信息

#查询参加2016年2月17日考试的所有学员的最高分、最低分、平均分

#显示表结构
DESC student;
#查看表定义    也可以查看数据库定义
SHOW CREATE TABLE student;
SHOW CREATE DATABASE learn;

#设置数据库、表、字段的字符集

CREATE DATABASE `learn` /*!40100 DEFAULT CHARACTER SET utf8 */
#                                 数据库默认字符编码

#设置列的字符编码集
CREATE TABLE a(
address CHAR(5) CHARACTER SET gbk
)

CREATE TABLE `student` (
`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT ‘主键,学号’,
`pwd` VARCHAR(20) NOT NULL DEFAULT ‘123456’ COMMENT ‘密码’,
`name` VARCHAR(30) NOT NULL DEFAULT ‘匿名’ COMMENT ‘姓名’,
`sex` VARCHAR(2) NOT NULL DEFAULT ‘男’,
`birthday` DATETIME DEFAULT NULL COMMENT ‘出生日期’,
`address` VARCHAR(100) DEFAULT NULL COMMENT ‘家庭住址’,
`email` VARCHAR(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=INNODB                           DEFAULT CHARSET=utf8
#引擎 INNODB(支持增删改查、事务、外键)     默认字符集
# 引擎 NyISAM (偏向查询  支持全文索引 表空间小)

#创建一个测试表格
CREATE TABLE  test(
coll INT(4) ZEROFILL NOT NULL
)

#设置严格检查模式
SET sql_mode=’strict_trans_tables’;

CREATE TABLE  tab1(
id INT(4) AUTO_INCREMENT PRIMARY KEY,
`name` VARCHAR(20) NOT NULL
)
#自增列默认初始值为1   步长1
#能否改变自增列的初始值? 100
#只影响当前表
CREATE TABLE  tab1(
id INT(4) AUTO_INCREMENT PRIMARY KEY,
`name` VARCHAR(20) NOT NULL
)AUTO_INCREMENT=100;
#改变自增列的步长
#影响的时所有使用自增列的表
SET @@auto_increment_increment=5;

#同一个列可以被多个属性来修饰的  但是注意属性的顺序
CREATE TABLE `learn`.“( /* 未指定表名 */
`heihei` INT(5) UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`heihei`)
);

#查看MySQL所支持的引擎类型(表类型)
SHOW ENGINES;
#查看默认引擎
SHOW VARIABLES LIKE ‘storage_engine’;

#  INNODB
#  C:\ProgramData\MySQL\MySQL Server 5.7\Data\learn
#   *.frm 表结构定义文件
#   数据文件在Data文件夹下的 ‘ibdata1’ 文件

#  NyISAM
#  *.frm  表结构定义文件
#  *.MYD  数据文件
#  *.MYI  索引文件

#修改数据表

#修改表名
ALTER TABLE ‘旧表名’ RENAME AS ‘新表名’
#添加字段
ALTER TABLE ‘表名’ ADD ‘字段名’ ‘列表类型[属性]’
#修改字段
ALTER TABLE ‘表名’ MODIFY ‘字段名’ ‘列表类型[属性]’
ALTER TABLE ‘表名’ CHANGE ‘旧字段名’ ‘新字段名’ ‘列表类型[属性]’  /*修改力度较强 可以修改字段名*/
#删除字段
ALTER TABLE ‘表名’ DROP ‘字段名’

#删除数据表   if exists可选
DROP TABLE IF EXISTS haha

发表评论

电子邮件地址不会被公开。 必填项已用*标注