SQL基础知识一

一、建库

show databases ;//显示已存在的数据库
create database 数据库库名;
use 数据库名;//进入新建的数据

二、建表 

show tables;//查询已存在的数据表 
create table  数据表名 
(
id   int ,
name varchar(2000) not null,//字段及类型
phone  varchar(2000) not null,

);//建立新的数据表

 三、查看表

1.
desc 表名;//查看表结构
mysql> desc  name;
+----------+-----------+------+-----+---------+-------+
| Field    | Type      | Null | Key | Default | Extra |
+----------+-----------+------+-----+---------+-------+
| id       | int(11)   | YES  |     | NULL    |       |
| name     | char(255) | YES  |     | NULL    |       |
| 地址     | char(255) | YES  |     | NULL    |       |
| PhoneNum | double    | YES  |     | NULL    |       |
+----------+-----------+------+-----+---------+-------+

 

2.
show create table 表名;//查看表定义
mysql>  show create table name;
+-------+-------------------------------------+
| Table | Create Table                                                                                                     |
+-------+-------------------------------------+
| name  | CREATE TABLE `name` (
  `id` int(11) DEFAULT NULL,
  `name` char(255) DEFAULT NULL,
  `地址` char(255) DEFAULT NULL,
  `PhoneNum` double DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 |
+-------+-------------------------------------+

     Field:字段表示的是列名

  Type:字段表示的是列的数据类型

    Null :字段表示这个列是否能取空值

    Key :普通索引 。在mysql中key 和index一样,这个Key列可以有如下的值:PRI(主键)、MUL(普通的b-tree索引)、UNI(唯一索引)

    Default: 列的默认值

    Extra :其它信息

3.查看表内容

select  * from 表名;
例:
mysql> select *from name;
+----+------+------------+-------------+
| id | name | 地址       | PhoneNum    |
+----+------+------------+-------------+
|  1 | 张三 | 山东省济南 | 12345678945 |
|  2 | 李四 | 山东省济南 | 13211111119 |
+----+------+------------+-------------+

四、增

1.插入信息;

 insert into 表名(列名 多个用,隔开) values(插入的对应值用单引号然后用,隔开);
mysql> insert into name(id,name,地址,PhoneNum)
 values('4','王五','山东省青岛','9874561230');
Query OK, 1 row affected//这是返回的信息代表操作成功

mysql> select *from name; //查看表内容
+----+------+------------+-------------+
| id | name | 地址       | PhoneNum    |
+----+------+------------+-------------+
|  1 | 张三 | 山东省济南 | 12345678945 |
|  2 | 李四 | 山东省济南 | 13211111119 |
|  4 | 王五 | 山东省青岛 |  9874561230 |
+----+------+------------+-------------+

1.1增加字段

 alter table 表名 add 字段名(列名) 类型  字段类型 [是否允许非空]

例:(1)增加成绩字段类型为 varchar 大小为500个字符 字段类型不允许为空

mysql> alter table name add 成绩 varchar(500) not NULL ;

mysql> select *from name;
+----+------+------------+-------------+------+
| id | name | 地址       | PhoneNum    | 成绩 |
+----+------+------------+-------------+------+
|  1 | 张三 | 山东省济南 | 12345678945 |      |
|  2 | 李四 | 山东省济南 | 13211111119 |      |
|  4 | 王五 | 山东省青岛 |  9874561230 |      |
+----+------+------------+-------------+------+

 (2)增加成绩字段类型为 varchar 大小为500个字符   字段类型是否为空(不写默认为空)

mysql> alter table name add 成绩 varchar(500) ;

mysql> select *from name;
+----+------+------------+-------------+------+
| id | name | 地址       | PhoneNum    | 成绩 |
+----+------+------------+-------------+------+
|  1 | 张三 | 山东省济南 | 12345678945 | NULL |
|  2 | 李四 | 山东省济南 | 13211111119 | NULL |
|  4 | 王五 | 山东省青岛 |  9874561230 | NULL |
+----+------+------------+-------------+------+

五、删

1,删除某字段(列)

alter table 表名 drop 字段名;

 例:删除 成绩字段

mysql> alter table name drop 成绩;


mysql> select *from name;
+----+------+------------+-------------+
| id | name | 地址       | PhoneNum    |
+----+------+------------+-------------+
|  1 | 张三 | 山东省济南 | 12345678945 |
|  2 | 李四 | 山东省济南 | 13211111119 |
|  4 | 王五 | 山东省青岛 |  9874561230 |
+----+------+------------+-------------+

2.删除某一行

delete  from  表名 where  字段号=''

例 删除id=4的那一行数据

mysql> delete from name where id='4';

mysql> select *from name;
+----+------+------------+-------------+
| id | name | 地址       | PhoneNum    |
+----+------+------------+-------------+
|  1 | 张三 | 山东省济南 | 12345678945 |
|  2 | 李四 | 山东省济南 | 13211111119 |
+----+------+------------+-------------+

六,改

1.改密码

 update mysql.user set authentication_string=password('新密码') where user='root'; 

    注意:输入密码不要使用独立键盘,有可能数字键盘没有开,但输入默认是有效的

    接着刷新权限:

FLUSH PRIVILEGES;
接着退出:quit;

如果出现修改密码不成功28000错误  ,用下面语句修改(最好手动输入避免字符问题)

UPDATE mysql.user SET password=PASSWORD(’新密码’) WHERE User=’root’;

 接着刷新权限:

FLUSH PRIVILEGES;
接着退出:quit;

 2.

(1).用root 进入mysql后
mysql>set password =password('你的密码');
mysql>flush privileges;
(2).使用GRANT语句
mysql>grant all on *.* to 'root'@'localhost' IDENTIFIED BY '你的密码'with grant option ;
mysql>flush privileges;

(3).进入mysql库修改user表
mysql>use mysql;
mysql>update user set password=password('你的密码') where user='root';
mysql>flush privileges;
posted @ 2017-12-05 21:00  码到攻城  阅读(158)  评论(0编辑  收藏  举报