文章来源:

一、cmd命令行的常用命令:


当我们使用MySQL 5.5 Command Line Client这个客户端登陆时,只能登陆root用户。如果今后创建了别的用户,就很麻烦了,所以我们不用MySQL 5.5 Command Line Client这个客户端,而是直接使用cmd。

1、登录MySQL数据库:

因为在这之前安装MySQL的时候,已经将环境变量配置好了,所以可以直接在cmd中输入如下命令进行登陆:

mysql -u root -p

紧接着输入密码就行了。

上方代码中,-u表示username,即用户名。-p表示password,即密码。

SQLServer management编写登录脚本为 登陆sql语句_数据库

2、查看数据库: 

show databases;

3、使用数据库:(此命令后面可以不加分号)

use 数据库名;

4、查看当前数据库表:

show tables;

注:命令后面的分号表示结束。

SQLServer management编写登录脚本为 登陆sql语句_字段_02

注:上图中,先输入show databases;显示出了四个库,前三个表示系统的库,第四个test是系统自带的测试库。然后我们使用test这个数据库,显示:Database changed,表示当前的数据库处于激活状态。紧接着可以对其进行其他相关的命令了。这里我们输入show tables,可以看到test这个数据库的表里面是空的。注意:information_schema数据库中的TABLES表来保存该数据库实例中的所有的数据表,可以通过使用查询语句进行查询当前都建立哪些数据表

5、创建数据库(CREATE DATABASE语句):

【举例】新建数据库,命名为mydb:

CREATE DATABASE mydb;  
create database if not extists mydb ;

注:如若要删除数据库,将“create”改为“drop”即可。

drop database if exists mydb ;

 

6、SQL命令中标示符的命名规则

标识符通常必须以字母开头

标识符包括字母、数字、# 、_ 、美元符

当多个词连缀而成的时候,单词之间以下划线分隔

同一个模式下的对象不应该同名,这里的模式指的是外模式

 

所以要开始建表了,于是就涉及到了SQL语句。

SQL全称是:结构化查询语言(Structured Query Language)。既然是语言,就涉及到了语法。下面来看一下常见的语法。

 

二、数据定义语言(DDL)


数据定义语言:Data Definition Language。如CREATE, DROP,ALTER等语句。需要注意的是,数据库中的命令不区分大小写

注意:DDL语言是操作数据库对象的语言,数据库对象包括数据表、视图、约束等,以后会介绍,现在仅仅涉及表的操作,DDL语句对于表的操作只是改变表的结构,不改变记录

 

1、创建表(CREATE TABLE语句

【举例】创建一个名为teacher的表:

 

CREATE TABLE teacher(
id int primary key auto_increment,
name varchar(20),
gender char(1), not null 
age int(2),
birth date, 
description varchar(100)
);

 

上面所有的代码其实是同一行。

定义字段的格式:字段的名字+字段的类型+属性

注:每个字段定义完后,要用逗号隔开,最后一个字段没有逗号。

一般情况下,每个表都要有一个主键。

命令运行的效果如下:

SQLServer management编写登录脚本为 登陆sql语句_数据库_03

create table user_copy1 like user ; 创建和user一样的表结构

create table user_copy2 as (select * from user) ; 创建和user一样的表,包括其中的记录

2、查看表结构:

desc teacher;

效果如下:

SQLServer management编写登录脚本为 登陆sql语句_数据库_04

需要注意的是:主键是用来唯一代表一条记录的字段(主键值必须是唯一)

3、删除表(DROP TABLE语句):

DROP TABLE teacher; 
drop table if exists teacher ;

注:drop table 语句会删除该的所有记录及表结构

4、修改表结构(ALTER TABLE语句):(假设表名为test)

alter table test

add column 年龄 tinyint (2) null ,           /*添加列*/

change column 年龄 新年龄 int null ,     /*更改列名*/

modify column 年龄 bigint not null ,      /*更改列的类型*/

drop column 年龄 ,                             /*删除指定列*/

rename to 新年龄 ;                            /*重命名表的名称*/

另一种更改表名的方式,直接使用rename table 命令

rename table user_copy1 to user1,

                    user_copy2 to user2 ;