mysql 用命令操作数据库(一)

版权声明:本文为博主原创文章,未经博主允许不得转载。 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 为可选,判断是否存在该数据表
          如删除不存在的数据表会抛出错误

总结:

     用语句写创建数据库,删除数据库,显示数据库, 使用数据库;
     用语句写创建数据表,修改数据表,删除数据表;

猜你喜欢

转载自blog.csdn.net/hlx20080808/article/details/88424787