SQL基础知识一

时间:2022-03-15 07:53:01

一、建库

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('','王五','山东省青岛','');
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='';

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;