版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hlx20080808/article/details/88424787
DOS命令窗口:
mysql启动,然后再登录 (mysql -u root用户名 -proot密码)
D:\mysql5.7\bin>mysql -u root -proot
显示所有数据库的名称
mysql> show databases;
-----------------------------------------
1)创建数据库
mysql> create database [if not exists ] accp数据库名
2)显示所有数据库的名称
mysql> show databases;
3)使用数据库
mysql> use accp;
4)删除数据库
mysql> drop database [if exists] accp;
-----------------------------------------
1)使用数据库
mysql> use myschool;
2)显示表结构
mysql>desc grade(表名)
3)显示表创建语句
mysql>show create table grade(表名);
--显示表创建语句:
CREATE TABLE `grade` (
`GradeId` int(4) NOT NULL DEFAULT '0'
`GradeName` varchar(100) DEFAULT NULL
PRIMARY KEY (`GradeId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
--表列类型设置
CREATE TABLE [ IF NOT EXISTS ] `表名` (
`字段名1` 列类型 [ 属性 ] [ 索引 ] [注释] ,
`字段名2` 列类型 [ 属性 ] [ 索引 ] [注释] ,
… …
`字段名n` 列类型 [ 属性 ] [ 索引 ] [注释]
) [ 表类型 ] [ 表字符集 ] [注释] ;
列类型=>数据类型:
分为:
1)数值类型(int,float,double,decimal(m,d))
2)字符串类型 (char,varchar,text)
3)日期和时间型数值类型(date,time,datetime,year,)
4)NULL值:
理解为“没有值”或“未知值”
不要用NULL进行算术运算,结果仍为NULL
属性=>数据字段属性:
UNSIGNED
无符号的
声明该数据列不允许负数
ZEROFILL
0填充的
不足位数的用0来填充,如 int(3),5则为 005
AUTO_INCREMENT
自动增长的,每添加一条数据,自动在上一个记录数上加1
通常用于设置主键,且为整数类型
可定义起始值和步长
NULL 和 NOT NULL
默认为NULL,即没有插入该列的数值
如果设置为NOT NULL,则该列必须有值
DEFAULT 默认的
用于设置默认值
例如,性别字段,默认为“男”,否则为“女”;若无指定该列的值,则默认为“男”的值
注释=>表列类型注释
CREATE TABLE [ IF NOT EXISTS ] `test` (
`id` int (11) UNSIGNED COMMENT ‘编码号’
) COMMENT=‘测试表’;
写在列名后面 COMMENT ‘编码号’
--创建表的语法
CREATE TABLE [ IF NOT EXISTS ] `表名` (
`字段名1` 列类型 [ 属性 ] [ 索引 ] [注释] ,
`字段名2` 列类型 [ 属性 ] [ 索引 ] [注释] ,
… …
`字段名n` 列类型 [ 属性 ] [ 索引 ] [注释]
) [ 表类型 ] [ 表字符集 ] [注释] ;
表类型==》MySQL的数据表的类型 MyISAM、InnoDB(**) 、HEAP、BOB、CSV等;
表字符集=》可为数据库、数据表、数据列设定不同的字符集 CHARSET=utf8
--创建学生表
create table if not exists student(
studentNo int(4) not null comment '学号',
Loginpwd varchar(20) default null ,
StudentName varchar(20) default null
)ENGINE=InnoDB DEFAULT CHARSET=utf8 ;
--创建班级表
create table if not exists grades(
gradeId int(11) not null,
gradeName varchar(20) default null
)engine=MyISAM default charset=utf8;
索引:D:\mysql5.6\data\myschool
InnoDB类型数据表只有一个*.frm文件,数据文件为上一级目录的 ibdata1 文件
MyISAM类型数据表对应三个文件:
*.frm -- 表结构定义文件
*.MYD -- 数据文件
*.MYI -- 索引文件
修改数据表
--1)修改表名
ALTER TABLE 旧表名 RENAME AS 新表名
alter table grades rename as mygrade;
--2)添加字段
ALTER TABLE 表名 ADD 字段名 列类型 [ 属性 ]
alter table student add tel varchar(20) null;
--3)修改字段
ALTER TABLE 表名 MODIFY 字段名 列类型 [ 属性 ]
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 列类型 [ 属性 ]
alter table student modify tel text not null;
alter table student change tel telphone varchar(20) null;
--4)删除字段
ALTER TABLE 表名 DROP 字段名
alter table student drop telphone;
删除数据表
DROP TABLE [ IF EXISTS ] 表名
drop table if exists student;
说明:IF EXISTS 为可选,判断是否存在该数据表
如删除不存在的数据表会抛出错误
总结:
用语句写创建数据库,删除数据库,显示数据库, 使用数据库;
用语句写创建数据表,修改数据表,删除数据表;